我在这里尝试给value = 1
手动输入和提交。
然后每次jquery从ajax响应value+1
获取值并重新提交。并循环到1000。
使用此代码,我可以成功输入新值,但无法自动提交。
HTML
<input type="number" name="imdo" id="name" value=""/>
<input type="submit" id="submit"/>
<div class="output"></div>
JS
jQuery(document).ready(function($){
$('#submit').on('click',function(event){
event.preventDefault();
$('#output').empty();
var imdo=$("#name").val();
var ajaxurl='admin-ajax;
$.ajax({
url:ajaxurl,
type:'post',
dataType:'html',
data:{
action:'wpse_2900_call',
imdo:imdo,
},
success: function(result){
$('#output').append(result);
$('#name').val(result);
$('#submit').submit(function(){return true;});
}
});
});
});
如何自动提交1000次?
答案 0 :(得分:1)
只要结果为<1000(未测试),就可以使用.trigger( "click" );
:
jQuery(document).ready(function($){
$('#submit').on('click',function(event){
event.preventDefault();
$('#output').empty();
var imdo=$("#name").val();
var initialValue=$("#name").attr("data-initial");
var ajaxurl='admin-ajax;
$.ajax({
url:ajaxurl,
type:'post',
dataType:'html',
data:{
action:'wpse_2900_call',
imdo:imdo,
},
success: function(result){
$('#output').append(result);
$('#name').val(result);
if (initialValue == '') {
$("#name").attr("data-initial", imdo);
initialValue = imdo;
}
var maxRuns = 1000 + parseInt(initialValue);
if (result < maxRuns) {
$('#submit').trigger("click");
}
}
});
});
});
编辑:您需要将data-initial=""
添加到#name
。您也可以在没有parseInt()
的情况下测试代码(仍未经测试)。
答案 1 :(得分:1)
我强烈建议您不要使用此代码。
这是一个基于您建议要做的示例。
var i = 0;
jQuery(document).ready(function($) {
$('form').on('submit', function(e) {
e.preventDefault();
$('#output').empty();
var imdo = $("#name").val();
var ajaxurl = 'admin-ajax';
for (i; i < 1000; i++) {
console.log(i + ": Call " + ajaxurl + ", " + imdo);
$.ajax({
url: ajaxurl,
type: 'post',
dataType: 'html',
data: {
action: 'wpse_2900_call',
imdo: imdo,
},
success: function(result) {
console.log(i + ": Result", result);
$('#output').append(result);
$('#name').val(result);
$('form').trigger("submit");
}
});
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input type="number" name="imdo" id="name" value="" />
<input type="submit" id="submit" />
</form>
<div class="output"></div>
提交表单后(单击或通过 Enter 提交),表单将一直处理,直到i
为1000。
警告
您可以DOS Web服务器。或者您可以进行一个递归循环,导致浏览器锁定。同样,我不建议使用此代码。