2

我在使用 onSubmit 时遇到问题。我正在使用 jQTouch 和构建一个小型移动网站。如果用户按 Enter,我想用 onSubmit 调用一个函数,但这不起作用。我真的不知道问题出在哪里,因为当它被 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有什么问题。

4

2 回答 2

2

您的表单中缺少提交按钮。

<form onsubmit="alert('here'); return false;" 名称="form1" 方法="get">
        <ul>
        <li>
        输入 1  
        </li>                     
        <li>
        输入 2
        </li>  
        </ul>
<input type="submit" value="submit" style="display:none" />
</form>   
于 2011-03-06T20:21:28.280 回答
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>
于 2011-03-06T20:23:28.470 回答