如何通过单击文本提交表单?

时间:2016-11-16 07:50:51

标签: jquery html

我希望在点击span id="ToolBarDownload"时提交表单,但似乎未提交form id="myformID"。怎么了?我的代码有意义吗?谢谢!

顺便说一下,文字id="ToolBarDownload"不在表格之内。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="js/jquery1.10.2.min.js?isassets=1" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#ToolBarDownload").click(function() {
                if (confirm('Do you want to Download')) {
                    $("#myformID").commit();
                }
            });

            $("#myformID").submit(function(eventObj) {
                $('<input />').attr('type', 'hidden').attr('name', "myCw").attr('value', "mydata").appendTo('#myformID');
                return true;
            });
        });
    </script>
</head>
<body>
    <div id="container">
        <form action='' method='post' enctype='multipart/form-data' id="myformID"></form>
        <span id="ToolBarDownload" class="ToolBarButton" style="margin-left:5px">Download</span>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

jQuery中没有commit()方法。要提交表单,请使用submit()

$("#ToolBarDownload").click(function(){
    if (confirm('Do you want to Download')) {
        $("#myformID").submit();
    }
});

另请注意,在submit()处理程序中,您可以为attr()方法提供一个对象,以便只进行一次更改多个属性的调用。 return true也是多余的,可以删除:

$("#myformID").submit(function() {
    $('<input />').attr({
        type: 'hidden',
        name: 'myCw',
        value: 'mydata'
    }).appendTo('#myformID');
});