Javascript 如何使用自动单击按钮在表单提交ajax上运行函数
我正试图提交一个表格,只是自动点击按钮 所以我有一个计时器,如果计时器已经是0,它应该自动提交表单 这是我的代码Javascript 如何使用自动单击按钮在表单提交ajax上运行函数,javascript,jquery,Javascript,Jquery,我正试图提交一个表格,只是自动点击按钮 所以我有一个计时器,如果计时器已经是0,它应该自动提交表单 这是我的代码 function tick() { var timeDisplay = document.getElementById('question_timer'); var isTimeLimit = true; var min = Math.floor(secondsRemaining / 60); var sec = secondsRemaining -
function tick() {
var timeDisplay = document.getElementById('question_timer');
var isTimeLimit = true;
var min = Math.floor(secondsRemaining / 60);
var sec = secondsRemaining - (min * 60);
if (sec < 10) {
sec = '0' + sec;
}
var message = min.toString() + ':' + sec;
timeDisplay.innerHTML = message;
//stop if down to zero
if (secondsRemaining === 0 && isTimeLimit == true) {
clearInterval(intervalHandle);
displayQuestion();
} else {
//boolean is false
if (secondsRemaining === 0) {
submitAnswer();
clearInterval(intervalHandle);
}
}
secondsRemaining--;
}
function startCountdown() {
clearInterval(intervalHandle);
secondsRemaining = 5;
intervalHandle = setInterval(tick, 1000);
}
function submitAnswer() {
$('#form_question_scenario').on('submit', function(e) {
$.ajax({
method: "post",
url: url,
data: new FormData(this),
dataType: "json",
contentType: false,
cache: false,
processData: false,
success: function(data) {
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error adding / update data');
}
});
});
}
函数tick(){
var timeDisplay=document.getElementById('question_timer');
var isTimeLimit=true;
最小值=数学楼层(第二次维护/60);
var sec=第二次维护-(最小*60);
如果(第10节){
秒='0'+秒;
}
var message=min.toString()+':'+秒;
timeDisplay.innerHTML=消息;
//如果降到零,停止
if(secondsRemaining==0&&isTimeLimit==true){
clearInterval(间隔句柄);
显示问题();
}否则{
//布尔值为false
如果(第二次维护===0){
submitAnswer();
clearInterval(间隔句柄);
}
}
第二,保留--;
}
函数startCountdown(){
clearInterval(间隔句柄);
二次维护=5;
intervalHandle=setInterval(刻度,1000);
}
函数submitAnswer(){
$('form#question_scenario')。关于('submit',函数(e){
$.ajax({
方法:“张贴”,
url:url,
数据:新表单数据(本),
数据类型:“json”,
contentType:false,
cache:false,
processData:false,
成功:功能(数据){
},
错误:函数(jqXHR、textStatus、errorshown){
警报(“添加/更新数据时出错”);
}
});
});
}
如果计时器已为0,如何运行submitAnswer函数。非常感谢您的帮助。submitAnswer()函数只是附加了事件处理程序,实际上并没有提交表单
要实现所需的功能,请在页面加载时附加submit
事件处理程序,然后在希望提交表单时在其上触发该事件。试试这个:
//加载页面时附加提交事件处理程序
$('form#question_scenario')。关于('submit',函数(e){
$.ajax({
//这里是ajax设置。。。
});
});
函数tick(){
var timeDisplay=document.getElementById('question_timer');
var isTimeLimit=true;
最小值=数学楼层(第二次维护/60);
var sec=('00'+(secondsRemaining-(min*60)).slice(-2);//注意这里整理了逻辑
var message=min.toString()+':'+秒;
timeDisplay.innerHTML=消息;
//如果降到零,停止
if(secondsRemaining==0&&isTimeLimit==true){
clearInterval(间隔句柄);
显示问题();
}否则{
如果(第二次维护===0){
$(“#表单_问题_场景”).trigger('submit');//在此处提交表单
clearInterval(间隔句柄);
}
}
第二,保留--;
}
函数startCountdown(){
clearInterval(间隔句柄);
二次维护=5;
intervalHandle=setInterval(刻度,1000);
}
函数submitAnswer()
只附加事件处理程序,实际上并不提交表单
要实现所需的功能,请在页面加载时附加submit
事件处理程序,然后在希望提交表单时在其上触发该事件。试试这个:
//加载页面时附加提交事件处理程序
$('form#question_scenario')。关于('submit',函数(e){
$.ajax({
//这里是ajax设置。。。
});
});
函数tick(){
var timeDisplay=document.getElementById('question_timer');
var isTimeLimit=true;
最小值=数学楼层(第二次维护/60);
var sec=('00'+(secondsRemaining-(min*60)).slice(-2);//注意这里整理了逻辑
var message=min.toString()+':'+秒;
timeDisplay.innerHTML=消息;
//如果降到零,停止
if(secondsRemaining==0&&isTimeLimit==true){
clearInterval(间隔句柄);
显示问题();
}否则{
如果(第二次维护===0){
$(“#表单_问题_场景”).trigger('submit');//在此处提交表单
clearInterval(间隔句柄);
}
}
第二,保留--;
}
函数startCountdown(){
clearInterval(间隔句柄);
二次维护=5;
intervalHandle=setInterval(刻度,1000);
}
您根本不需要提交事件,只需像0秒后那样调用函数,获取表单id并创建新表单数据,然后执行Ajax请求
function submitAnswer() {
let myForm = document.getElementById('form_question_scenario');
$.ajax({
method: "post",
url: url,
data: new FormData(myForm),
dataType: "json",
contentType: false,
cache: false,
processData: false,
success: function(data) {
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error adding / update data');
}
});
}
示例:
只需调用函数即可填充表单数据,而无需提交事件:
函数submitAnswer(){
让myForm=document.getElementById('form\u question\u scenario');
let data=新表单数据(myForm)
formObj={};
for(变量对数据.entries()){
formObj[pair[0]]=pair[1]
}
console.log(formObj)
}
submitAnswer()
您根本不需要提交事件,只需像0秒后那样调用函数,获取表单id并创建新表单数据,然后执行Ajax请求
function submitAnswer() {
let myForm = document.getElementById('form_question_scenario');
$.ajax({
method: "post",
url: url,
data: new FormData(myForm),
dataType: "json",
contentType: false,
cache: false,
processData: false,
success: function(data) {
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error adding / update data');
}
});
}
示例:
只需调用函数即可填充表单数据,而无需提交事件:
函数submitAnswer(){
让myForm=document.getElementById('form\u question\u scenario');
let data=新表单数据(myForm)
formObj={};
for(变量对数据.entries()){
formObj[pair[0]]=pair[1]
}
console.log(formObj)
}
submitAnswer()
您好,先生,这解决了我的问题。非常感谢,先生。嗨,先生。这解决了我的问题。非常感谢,先生。