使用onSubmit调用时,Javascript函数不起作用

时间:2011-03-06 20:12:49

标签: javascript onclick onsubmit

我遇到onSubmit问题。 我正在使用jQTouch构建一个小型移动网站。 我想用onSubmit调用一个函数,如果用户点击Enter,但是这不起作用。 我真的不知道是什么问题,因为当onclick调用它时,该函数运行正常。

所以这是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 个答案:

答案 0 :(得分: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>   

答案 1 :(得分:0)

当您通过按“提交”类型的输入或在输入字段中按Enter键提交表单时触发onSubmit事件,但为了在按Enter键时提交表单,您需要有一个适当的提交按钮。您不需要提交的锚链接:

<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>