JavaScript:发送多个提交

时间:2012-05-19 20:08:06

标签: javascript submit

我有这个HTML代码:

<form name="input" action="html_form_action.asp" method="post" id="formID">
Username: <input type="text" name="user" />
          <input type="submit" value="Submit" />
</form>

<script>
    for (i=0;i<10;i++) {document.getElementById('formID').submit; }
</script>

我试图多次提交同样的事情 但正如你猜测的那样,它总是提交一次,并刷新页面。

我怎样才能避免这种情况并提交我想要的次数?

4 个答案:

答案 0 :(得分:3)

除了使用Ajax之外,您还可以将表单的目标设置为“_blank”,从而使表单提交到新窗口或选项卡。

<form target="_blank" name="input" action="html_form_action.asp" method="post" id="formID">

浏览器可以打开尽可能多的窗口,以便您可以继续使用一段时间。

但这对于用户而言非常令人难以置信。我希望你知道你在做什么。

答案 1 :(得分:2)

使用AJAX以无提示方式向服务器发送请求(即无需刷新)。

或者不是提交表单10次,为什么不将循环移动到您的ASP文件中 - 您的表单提交一次,并且在服务器上发生了10次。

你想做什么?

答案 2 :(得分:1)

您必须通过Ajax提交表单。使用JQuery.Ajax

$(function(){
  $.ajax({
    url:'html_form_action.asp',
    data: $("form").serialize(),
    // other setting
    success: function(){
      // what you do after post
    }
  });
});

访问:http://api.jquery.com/jQuery.ajax/进行其他设置

答案 3 :(得分:1)

试试这个:

$('form[name="formname"]').submit(function(){
    form = $('form[name="formname"]').serialize();  
    url1 = 'http://...';
    url2 = 'http://...';

    $.ajax({
        url:url1,
        type:'POST',
        data:form,
        success:function(result){
            $.ajax({
                url     :url2,
                type    :'POST',
                data    :form,
                success :function(result){
                }
            });
        }
    });
    return false;
});

将formname替换为表单的名称 Peplace url1和url2