正如标题所说,我需要多次提交表单,表单的操作是一个外部php文件。表单提交一次,但我需要它在每个循环中提交一次。
function send_sms(){
var receivers = document.getElementById('receivers').value.toString();
var receivers_array = receivers.split(',');
for(var i = 0; i < receivers_array.length; i++) {
// Trim the excess whitespace.
receivers_array[i] = receivers_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
document.getElementById('receiver').value = receivers_array[i];
document.getElementById("smsForm").submit();
}
}
该代码的主要作用是将用户输入的电话号码分开并向每个号码发送一条短信。它提交并将文本发送到数组中的第一个数字,但不会发送到其他输入的数字。拆分并且一切正常(我已使用 console.log 对所有内容进行检查)。循环也不会中断,因为它在循环内分配接收器值后控制台记录了每个接收器值。
更新:让它像这样工作
function send_sms(){
var receivers = document.getElementById('receivers').value.toString();
console.log(receivers);
var receivers_array = receivers.split(',');
console.log(receivers_array[0]);
for(var i = 0; i < receivers_array.length; i++) {
// Trim the excess whitespace.
receivers_array[i] = receivers_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
document.getElementById('receiver').value = receivers_array[i];
console.log(document.getElementById('receiver').value);
//document.getElementById("smsForm").submit();
$.ajax({
url:'../API/sendsms.php',
type:'post',
data:$('#smsForm').serialize(),
success:function(){
alert("worked");
}
});
}
}
最佳答案
提交会触发页面重新加载/重定向到您的操作。您必须为表单提交添加 ajax 监听器,这样它就不会在每次触发提交时刷新页面。
$(document).on('submit', 'form#smsForm', function() {
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
dataType: 'json',
data: $(this).serialize(),
success: function(data) {
console.log('Submitted');
},
error: function(xhr, err) {
console.log('Error');
}
});
return false;
});
function send_sms() {
var receivers = document.getElementById('receivers').value.toString();
var receivers_array = receivers.split(',');
for (var i = 0; i < receivers_array.length; i++) {
// Trim the excess whitespace.
receivers_array[i] = receivers_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
document.getElementById('receiver').value = receivers_array[i];
document.getElementById("smsForm").submit();
}
}
关于javascript - 需要用javascript多次提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53478615/