Jquery .submit()函数不会被调用

时间:2013-02-13 22:09:25

标签: jquery html

这是jQuery代码。

$('#signinform').live('submit',function() {
    alert("Submitting");
    $("#signinbutton").click();
});

表格是这样的:

<form name="signinform" id="signinform" action="#" method="POST">
        <input type="text" class="rounded_login" name="studentid" id="studentid" placeholder="Student ID" required="required" maxlength="9 ">
        <input type="password" class="rounded_login" name="studentpassword" id="studentpassword" placeholder="SJSU One Password" required="required" tooltip="Password">
        <input type="hidden" name="signinmethod" id="signinmethod" value="manual">
        <div id="signinbutton">Sign In</div>
</form>

click事件运行正常,但由于某种原因,提交不会被调用。我错过了什么?

PS:我已经尝试过.live()和.submit()函数。

编辑:哇!我想我没有让自己清楚!已经有代码或单击按钮/图像提交表单。

$("#signinbutton").live('click',function (e) {
});

我需要做的是,按回车键提交。那没有发生。 此外,我无法添加提交输入,因为这会弄乱样式。

7 个答案:

答案 0 :(得分:3)

如果您希望“登录”div触发表单提交,请尝试更改:

$('#signinform').live('submit',function() {
    alert("Submitting");
    $("#signinbutton").click();
});

$('#signinbutton').on('click',function() {
    alert("Submitting");
    $("#signinform").submit();
});

<强> jsFiddle example

正如gdoron提醒我注意的那样,.live()已被弃用,而不是.on()

答案 1 :(得分:1)

你应该这样做:

$("#signinform").trigger('submit');

答案 2 :(得分:0)

<div id="signinbutton">Sign In</div>

这实际上不是提交按钮。

您可以向此按钮添加一个事件,使其直接执行提交事件,或者在其位置创建一个实际的提交按钮。

答案 3 :(得分:0)

您应该通过点击提交,而不是相反。

$('#signinbutton').on('click',function() {
    $("#signinform").submit();
});

答案 4 :(得分:0)

您应该将HTML代码更正为以下

<form name="signinform" id="signinform" action="#" method="POST">
        <input type="text" class="rounded_login" name="studentid" id="studentid" placeholder="Student ID" required="required" maxlength="9 ">
        <input type="password" class="rounded_login" name="studentpassword" id="studentpassword" placeholder="SJSU One Password" required="required" tooltip="Password">
        <input type="hidden" name="signinmethod" id="signinmethod" value="manual">
       <input type="submit">
</form>

您还在使用.live(),不建议您使用.on()。如果您无法更改HTML代码,则可以在div的点击处理程序中手动提交表单,其ID为 signinbutton

$('#signinbutton').on('click',function()){
 $('#signinform').trigger('submit');
}

答案 5 :(得分:0)

在表单上设置事件时要小心。如果之前隐藏了表单,这些就行不通了。

答案 6 :(得分:0)

将提交功能放入其中。它应该工作。

$(document).ready(function () {

    $("#signinbutton").submit();

});