2016-02-06 201 views
1

當我提交我的表單時,會出現一個空白頁。我想留在同一頁面上。爲什麼我提交表單時出現空白頁?

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

'返回false;'在提交事件監聽器應該做的竅門 –

+0

你似乎沒有一個元素與id用戶名' –

+0

除了錯字,不。你可以設置一個測試用例,在http://jsfiddle.net上說? (我認爲現在也有內置支持,但說實話,我不知道它是如何工作的) –

回答

1

起初,我在提交事件偵聽器使用return false;,但後來我讀到一篇文章,說的return false;這種用法是如此廣泛濫用,因爲它似乎在做我們想要的。實際上,它會限制你的代碼,降低它的靈活性,增加維護它的難度。

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

我成功提交事件偵聽器使用event.preventDefault()防止表單被提交。

相關問題