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

发布于 2024-10-20 07:41:18 字数 1003 浏览 4 评论 0原文

我在 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 并按 Enter 键时,没有任何反应。

这可能有什么问题?按 Enter 时没有收到错误消息,我真的不知道 onSubmit 出了什么问题。

I'm having a problem with onSubmit.
I'm building a little mobile website using jQTouch and.
I want to call a function with onSubmit, if the user hits Enter, but that does not work.
I really don't know what's the problem, because the function works perfectly, when it's called by onclick.

So here's the 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>

And here's the javascript for the function calculateValue1():

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

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

When clicking on the link with onclick, the function works. When the focus is in input field 1 and I hit enter, nothing happens.

What could be the problem with this? I don't get an error message when hitting enter, I really don't know what's the problem with onSubmit.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

节枝 2024-10-27 07:41:18

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

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

You're missing a submit button in your form.

<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>   
眼眸印温柔 2024-10-27 07:41:18

当您通过按“提交”类型的输入或在输入字段中按 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>

The onSubmit event is triggered when you submit a form either via the pressing an input of type "submit" or when you press enter in an input field, but in order for the form to submit on pressing the enter key you need to have a proper submit button. You won't need a anchor link for the submit then:

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文