2013-03-20 132 views
2

看起來很多,但無法找到我的問題的解決方案,有人可以告訴我爲什麼這不工作?防止刷新?

if(titeln == 0 || grades == 0 || imdblink == 0 || bilden == 0 || handlingen == 0) 
     { 
      alert("Please fill out the form correctly");  
      $('form[name=test]').submit(function(e) { 
      e.preventDefault(); 

      }); 
     } 
     else 
     { 
      return null; 
     } 

,如果你填寫的表格糾正它第一次完美地提交,但如果你離開SOM textarea的空函數的preventDefault運行,因爲它應該,那麼你糾正問題並填寫功能仍然運行,當你按提交?爲什麼即使字段被糾正,函數仍然運行?

+0

你是什麼意思 「保持運行」 嗎?你是否期待神奇的驗證只適用於第一次? – 2013-03-20 16:34:28

+0

我thougt如果語句會在我點擊提交後再次運行,並且它不會再次卡在同一個地方,因爲沒有任何字段等於0,但顯然它沒有... – spovell 2013-03-20 16:43:59

回答

7

因爲你又綁定了它!

您在上述代碼中需要做的所有事情是在遇到任何錯誤時返回false

if(titeln == 0 || grades == 0 || imdblink == 0 || bilden == 0 || handlingen == 0) 
{ 
    alert("Pleae fill out the form correctly"); 
    return false; 
} 
.... 
+0

謝謝,工作得很好:) – spovell 2013-03-20 16:40:33

0

你可以嘗試把在else子句

$('form[name=test]').submit();