如何使document.forms [0] .submit()工作?

时间:2011-04-08 06:09:19

标签: javascript jquery forms

在我实现我的对话框作为警报措施后,用户确认提交而不是点击时直接提交,我的document.forms [0] .submit()不再起作用了。页面刷新,页面保持不变。在创建该对话框之前,一切都很完美。这有什么问题?

后:

  <script>
   //trigger dialog
 $('#submitIter').click(function(){
    $("#dialog-submit").dialog("open");
                return false
});

$("#dialog-submit").dialog({            
    autoOpen: false,
    resizable: false,
    height: 200,
    width: 200,
    modal: true,
    buttons: {
        "Proceed": function(){
            //submit after user clicks proceed cannot seem to work
            document.forms[0].submit();
            $(this).dialog("close");

        }
    }
});
   </script>

    <form action="{{ request.path }}" method="post" enctype="multipart/form-data">

      <input type="image" src="images/submit.png" id="submitIter">

    </form>

在:

<script> document.forms[0].submit() </script>

2 个答案:

答案 0 :(得分:1)

我认为你在这之前添加了一些表单,尝试编写 document.forms [1] .submit(); 无论如何,因为我可以看到你使用jQuery,所以你可以这样写:

<script>
   //trigger dialog
 $('#submitIter').click(function(){
    $("#dialog-submit").dialog("open");
                return false
});

$("#dialog-submit").dialog({            
    autoOpen: false,
    resizable: false,
    height: 200,
    width: 200,
    modal: true,
    buttons: {
        "Proceed": function(){
            //submit after user clicks proceed cannot seem to work
            $('#form_for_submit').submit();
            $(this).dialog("close");

        }
    }
});
   </script>

    <form id="form_for_submit" action="{{ request.path }}" method="post" enctype="multipart/form-data">

      <input type="image" src="images/submit.png" id="submitIter">

    </form>

答案 1 :(得分:0)

它可能与作用域或可能由对话框添加的另一个表单有关。我的第一个调试步骤是将document.forms [0]包装成一个警报并查看它是否返回一个对象。 其次,我会给表单标签一个id来明确引用它,例如id =“mainForm”然后你可以document.getElementById("mainForm").submit();

或者你可以像其他答案所说的那样写出来

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

也可以先尝试调用dialog close命令。