为什么我提交表单时会出现空白页面?

时间:2016-02-06 16:53:29

标签: html forms attributes local-storage

当我提交表单时,会出现一个空白页面。我想留在同一页上。

HTML:

<form id='credentials'>
     <div class="field">
          <label for="name">Username:</label>
          <input type="text" id="name" name="username" />
     </div>
     <div class="field">
          <button type="submit">Send</button>
     </div>
</form>

JavaScript的:

if (localStorage) {  // checks for localStorage support
    // add event listener for form submission
        document.getElementById('credentials').addEventListener('submit', function() {
            // get value of username field
            var username = document.getElementById('username').value;
            console.log('submitted')
            // save name in localStorage
            localStorage.setItem('name', username);
        });
} else {
    console.log('no localStorage');
}

1 个答案:

答案 0 :(得分:1)

首先,我在提交事件监听器中使用了return false;,但后来我读到了一篇文章,说return false;的这种用法被广泛滥用,因为它似乎正在做我们想要的事情。实际上,它会对代码施加限制,降低其灵活性,增加维护代码的难度。

文章:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/

我在提交事件监听器中成功使用了event.preventDefault()来阻止提交表单。