Как удалить «неопределенный» при автоматическом заполнении формы?

#javascript #html

Вопрос:

 function validate() {
  var errMsg = "";
  var result = true;

  var fname = document.getElementById("fname").value;
   if (!fname.match(/^[a-zA-Z] $/)) {
        errMsg  = "Please enter your first name correctly.n";
        result = false;
    }
  if (errMsg) {
alert(errMsg);
  }

  if (result) {
  
function storeBooking(
  fname
  ) {
  sessionStorage.fname = fname;
  }
  function getBooking() {
  if (sessionStorage.fname != undefined) {
    document.getElementById("confirm_fname").textContent = sessionStorage.fname;
     }
 }
 
 function prefillcard()
{ 
  document.getElementById("fname").value =  sessionStorage.fname;
  
  }

window.addEventListener("DOMContentLoaded", prefillcard);

function init() {
  var regForm = document.getElementById("regform");

  regForm.onsubmit = validate;
} 
 <form action="apply.html" method="post" id="regform">

<label for="fname">First Name</label>
        <input type="text" id="fname" name="firstname" placeholder="Your name.." required="required" maxlength="25" onkeypress="return (event.charCode > 64 amp;amp; event.charCode < 91) || (event.charCode > 96 amp;amp; event.charCode < 123) || (event.charCode==32)">
        <input type="submit" value="Apply">
 </form> 

Я настроил некоторый код для автоматического заполнения формы, если пользователь уже заполнил форму в том же сеансе браузера, а затем вернулся к форме. Единственная проблема в том, что там есть заполнитель, который вам нужно удалить, прежде чем вводить данные, и я не знаю, как от него избавиться. «Неопределенно» появляется, когда вы заполняете форму в первый раз. Как мне избавиться от этого?

Примечание: нет jQuery или встроенного JavaScript.

Комментарии:

1. Опубликованный вами код не демонстрирует проблему, которую вы указываете. Определение функции validate не является правильным. Пожалуйста, исправьте проблему и сделайте код работающим, чтобы мы могли отладить проблему..

Ответ №1:

Для хранения значений в сеансе используйте

 window.sessionStorage.setItem("Name", Value)); 
 

и для извлечения значения из сеанса используйте

 window.sessionStorage.getItem("Name");
 

Пример кода ниже

 function prefillcard() { 
  if (window.sessionStorage.getItem("fname")) {
   var fnm = window.sessionStorage.getItem("fname");
   document.getElementById("fname").value = fnm;
  }
}
 

и для установки значения сеанса используйте

 var fnm = document.getElementById("fname").value;
window.sessionStorage.setItem("fname", fnm));
 

Комментарии:

1. Смогли ли вы воспроизвести проблему из фрагмента кода, приведенного в вопросе?