2011-03-06 88 views
2

我遇到onSubmit問題。 我正在使用jQTouch構建一個小的移動網站。 我想用onSubmit調用一個函數,如果用戶點擊Enter,但那不起作用。 我真的不知道是什麼問題,因爲該功能完美工作,當它被onclick調用時。使用onSubmit調用Javascript函數不起作用

因此,這裏的HTML:

<form action="" method="get" name="form1" onSubmit="calculateValue1();return false"> 
     <ul> 
     <li> 
     Input 1 <input id="input1" name="input1" type="number"/> 
     </li>      
     <li> 
     Input 2 <input id="input2" name="input2" type="number"/> 
     </li> 
     </ul> 
</form> 

<a onclick="calculateValue1()">Calculate</a> 

而這裏的功能calculateValue1()的JavaScript:

function calculateValue1() {  
    M = window.form1.input1.value; 
    n = window.form1.input2.value; 

    if (window.form1.input1.value=="") { 
    alert("Value missing"); 
    } 
} 

當的onclick的鏈接點擊,函數工作。當焦點位於輸入字段1並且我輸入時,沒有任何反應。

這可能是什麼問題?我在輸入時沒有收到錯誤消息,我真的不知道onSubmit有什麼問題。

回答

2

您錯過了表單中的提交按鈕。

 
<form onsubmit="alert('here'); return false;" name="form1" method="get"> 
     <ul> 
     <li> 
     Input 1 
     </li>      
     <li> 
     Input 2 
     </li> 
     </ul> 
<input type="submit" value="submit" style="display:none" /> 
</form> 
+0

嗯,還好,提交按鈕隱時現,但功能不叫,當按下回車鍵:/我不隱瞞按鈕,它有效... – user647246 2011-03-06 20:48:53

+0

這很奇怪。請注意,我的提交內容與您的提交內容不一樣。 – Dimitry 2011-03-06 20:51:52

+0

是的,這很奇怪。但是當style =「visibility:hidden」時,提交按鈕被隱藏並且調用該函數。謝謝! – user647246 2011-03-06 20:53:19

0

當你提交一個表單被觸發onSubmit事件或者通過型的「提交」,或當你按在輸入字段中輸入,而是爲了使表格上按下回車提交按下輸入鍵你需要有一個適當的提交按鈕。你不會需要一個錨鏈接,然後提交:

<form action="" method="get" name="form1" onSubmit="calculateValue1();return false"> 
    <ul> 
    <li> 
    Input 1 <input id="input1" name="input1" type="number"/> 
    </li>      
    <li> 
    Input 2 <input id="input2" name="input2" type="number"/> 
    </li> 
    </ul> 
    <input type="submit" value="Calculate"></input> 
</form>