gpt4 book ai didi

javascript - $(id).submit() 不触发提交表单

转载 作者:行者123 更新时间:2023-11-30 05:43:20 25 4
gpt4 key购买 nike

当用户单击提交按钮时,我有一个表单需要做两件事。第一个是发送电子邮件给我,第二个是将用户发送到 PayPal。我已经对其进行了设置,因此它首先对另一个页面进行 Ajax 调用,然后该页面发送电子邮件。一旦该页面返回成功,它就会调用一个函数来触发表单的提交。

我在表单中放置了一个标准按钮,而不是一个提交按钮,还有一个 onclick 甚至可以检测它何时被单击。一切正常,直到我尝试在 Ajax 调用之后提交表单,此时表单未提交。这是我的 javascript:

$('#submit-btn').on('click', function() {

var err = false;
$('input, textarea', '#booking-form').each(function(index, element) {
if($(this).is('[required]') && $(this).val() < 2) {
alert('Please enter your ' + $(this).prop('placeholder').toLowerCase() + ' before continuing.');
$(this).focus();
err = true;
return false;
}
});

if(err) {
return false;
}

if($('#date').val() == 0) {
alert('You must choose a date before booking');
return false;
}

ShowLoadingScreen();

var data = {
'name': $('#name').val(),
'address': $('#address').val(),
'tel': $('#tel').val(),
'email': $('#email').val(),
'course': $('#course').find('option:selected').text(),
'location': $('#location').find('option:selected').text(),
'date': $('#date').find('option:selected').text()
};
AjaxHandler('book-course.php', data, "POST", true);
//AjaxHandler sends the data off to book-courses.php, which then returns a call to BookingSuccess().
//This is working fine as evidenced by the console.log line showing in the console.

});


function BookingSuccess() {

$('#booking-form').submit();
console.log('Booking success called...');

}

AjaxHandler 是调用页面的自定义函数,然后处理某些响应,包括调用函数。正在调用 BookingSuccess,因为 Booking success called... 正在控制台中输出。然而,表单并未提交。

我创建了一个 jsFiddle of the issues here .


我尝试过的

到目前为止,我已经尝试了以下方法:

  • 跳过 Ajax - 无效
  • 直接使用按钮提交表单,忽略对 Ajax 的需求 - 表单工作正常。
  • 删除了除表单之外的所有 HTML - 无效
  • 尝试在 #submit-btn 点击事件的顶部提交表单 - 没有效果
  • $('#booking-form').submit() 中放置一个 return true 函数 - 没有效果
  • 使用较长版本的 jQuery 触发器 $('#booking-form').trigger('submit') - 无效。
  • console.log 事件放入表单 onsubmit="" 以查看表单是否被触发 - 在 fiddle 上运行,但在网站上运行。

我不知道为什么这个表单不会提交。没有什么可以阻止它。我们正在到达并通过那条线。我在 FireBug 中设置了一个中断并介入,我们可以很好地实现该功能。它只是没有发挥作用。

我怎样才能让这个表单按预期正确提交?

最佳答案

经过进一步检查(以及聊天中的一些死胡同和转移注意力的内容),该页面似乎有两个具有相同 ID 的元素。改变一个或另一个,你就成功了。

关于javascript - $(id).submit() 不触发提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com