2013-10-01 132 views
-2

我的html代碼:使用jquery檢查表單提交?

<form action="test/test" method="post"> 
    <button type="submit" id="post-question"></button> 
</form> 

我jQuery代碼:

<script type="text/javascript"> 
$(function() 
{ 
    $('#post-question').click(function() 
    { 
     alert('hello world'); 
    }); 
}); 
</script> 

當我提交表單,什麼都不會發生,沒有任何警告對話框顯示。 我的代碼有什麼問題?

+0

你如何提交表單,是通過按鈕點擊? –

+0

一個原因,我可以看到的是,你是不是使用提交按鈕點擊提交的形式,但通過按Enter鍵或一些其它操作 –

+2

http://jsfiddle.net/VnqMy/ - 有什麼錯你的代碼。當你被卡住是 - 隔離問題,並停止這種[FIDDLE]猜測 – zerkms

回答

1

正如zerkms已經指出的那樣,有與上面的代碼。問題在別的地方。但無論如何,您還可以使用.submit()函數:

$("#the-form-id").submit(function(event) { 
    alert("yo world"); 
event.preventDefault(); 
}); 
+0

嗨,我想檢查表單中的輸入是否有效。所以我想在點擊提交按鈕時檢查輸入。如果輸入有效,則通過ajax提交表單。如果輸入無效,則提交將被阻止。 – Charles

2

使用submit事件而不是click事件。大多數表格需要在客戶端進行驗證,所以點擊按鈕並不需要正確提交表單。

<script type="text/javascript"> 
    $('#form').submit(function(){ 
     alert('hello world'); 
     e.preventDefault(); 
    }); 
</script> 

<form action="test/test" method="post" id="form"> 
    <button type="submit" id="post-question"></button> 
</form> 
+1

您可能還需要加上'e.preventDefault()' – Aristona

+0

個好建議。忘了那個 – Lance

+0

嗨,我想檢查表單中的輸入是否有效。所以我想在點擊提交按鈕時檢查輸入。如果輸入有效,則通過ajax提交表單。如果輸入無效,則提交將被阻止。 – Charles

0

如果您在提交之前嘗試驗證for,則可以嘗試此操作。

<form action="test/test" method="post" onsubmit="validate"> 
     <button type="submit" id="post-question"></button> 
    </form> 

<script type="text/javascript"> 
    function validate(){ 
     // do you validation here 
    }  
    </script> 
+0

2013年,使用'onsubmit' – zerkms