如何使用jQuery .submit提交表单?

时间:2015-05-29 06:06:59

标签: javascript jquery forms

我有以下代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>

<body>
    <form method="post" id="theform" action="http://example.com" target="_blank">
        <input name="email" placeholder="email" type="text">
        <input id="submit" type="submit" value="submit">
    </form>
    <script type="text/javascript">
    jQuery(function() {
        jQuery('#submit').on('click', function(e) {
                e.preventDefault();
                jQuery('#theform').attr('disabled', 'disabled');
                //Code here
                jQuery('#theform').removeAttr('disabled').submit();
            }
        });

    });
    </script>
</body>

</html>

表单未提交。知道是什么了吗?

我知道我可以进行ajax调用以手动提交表单到操作URL,然后使用JavaScript重定向到我想在新标签中发送用户的位置;但是,我不想这样做,因为popup blockers会占用JavaScript重定向。因此,我在target="_blank"上有submit形式,它将用户送到我想要发送的位置...如果只有代码可用。

2 个答案:

答案 0 :(得分:1)

从onclick事件处理程序中删除行e.preventDefault();

更新: 很抱歉,我没注意到您之前在代码中明确提交了表单。即使上述变化会解决它,实际问题还是其他问题。不要对函数进行任何更改只需将提交按钮的id重命名为其他内容并更新绑定,代码应该可以正常工作。 工作小提琴:http://jsfiddle.net/epednoat/                        

<body>
    <form method="post" id="theform" action="http://example.com" target="_blank">
        <input name="email" placeholder="email" type="text">
        <input id="smt" type="submit" value="submit">
    </form>
    <script type="text/javascript">
    jQuery(function() {
        jQuery('#smt').on('click', function(e) {
                e.preventDefault();
                jQuery('#theform').attr('disabled', 'disabled');
                //Code here
                jQuery('#theform').removeAttr('disabled').submit();
            }
        });

    });
    </script>
</body>

</html>

答案 1 :(得分:0)

您可以使用以下代码jQuery submit表单。

$( "#theform" ).submit(function( event ) {
  alert( "Handler for .submit() called." );
  event.preventDefault();
});

使用JavaScript

function submitform()
{
  document.theform.submit();
}