我有这个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>
我试图多次提交同样的事情
但正如你猜测的那样,它总是提交一次,并刷新页面。
我怎样才能避免这种情况并提交我想要的次数?
答案 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