Javascript HTML表单提交之前的Ajax(异步)
但是表单在Ajax完成之前就已经提交了,我如何确保表单在Ajax完成之后提交呢Javascript HTML表单提交之前的Ajax(异步),javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,但是表单在Ajax完成之前就已经提交了,我如何确保表单在Ajax完成之后提交呢 我想保留用户启动的表单submit事件,而不是代码,例如$(“#myForm”).trigger('submit'),因为我不希望浏览器阻止新的窗口选项卡。为什么不在页面加载时使用ajax值,然后提交数据 $("#myForm").submit(function (e) { var $this = $(this); someAjaxFunction(function (data) { $this.fi
我想保留用户启动的表单
submit
事件,而不是代码,例如$(“#myForm”).trigger('submit')代码>,因为我不希望浏览器阻止新的窗口选项卡。为什么不在页面加载时使用ajax值,然后提交数据
$("#myForm").submit(function (e) {
var $this = $(this);
someAjaxFunction(function (data) {
$this.find('input[name="someName"]').val(data.value);
});
});
$("#myForm").submit(function (e) {
var $this = $(this);
someAjaxFunction(function (data) {
$this.find('input[name="someName"]').val(data.value);
// submit form without triggering jquery handler
$this[0].submit();
});
// cancel the current submission
return false;
});
或者将ajax调用放在click事件上,并在值更新时提交:
$(function(){
someAjaxFunction(function (data) {
$('input[name="someName"]').val(data.value);
});
$("#myForm button").on('click',function(){
$(this).submit();
});
});
为什么不在页面加载时使用ajax值,然后提交数据
$("#myForm").submit(function (e) {
var $this = $(this);
someAjaxFunction(function (data) {
$this.find('input[name="someName"]').val(data.value);
// submit form without triggering jquery handler
$this[0].submit();
});
// cancel the current submission
return false;
});
或者将ajax调用放在click事件上,并在值更新时提交:
$(function(){
someAjaxFunction(function (data) {
$('input[name="someName"]').val(data.value);
});
$("#myForm button").on('click',function(){
$(this).submit();
});
});
$this[0]。提交()
会导致新窗口被浏览器阻塞,我认为只有当事件由用户触发时,新窗口才会被阻塞,例如鼠标单击submit按钮。$this[0].submit()
会导致新窗口被浏览器阻塞,我认为只有当事件由用户触发时,新窗口才会被阻塞,例如鼠标单击submit按钮。因为我会在someAjaxFunction
中执行某些操作,它应该在表单提交之前完成。因为我会在someAjaxFunction
中做一些事情,而且应该在表单提交之前完成。