javascript - 从 jQuery 运行 PHP 脚本,然后提交表单
问题描述
在提交consent
表单时,我需要运行 PHP 脚本。脚本运行后,我想像往常一样提交consent
表单。
我曾认为类似于以下内容的东西会起作用:
$(document).on('submit', 'form#consent', function(e) {
e.preventDefault();
$.get('http://www.domain.co.uk/test.php', function() {
console.log('returned');
$('form#consent').submit();
});
});
解决方案
这将导致submit
事件循环,因为您的事件侦听器总是会一次又一次地被触发。改用one
,只听第一次提交:
$('form#consent').one('submit', function(e) {
e.preventDefault();
$.get('http://www.domain.co.uk/test.php', function() {
console.log('returned');
$('form#consent').submit();
});
return false;
});
防止竞争条件和其他问题的另一个想法是,不要submit
在表单中使用按钮。只需使用普通按钮,让 js 执行submit
.
// <button class="send">submit form</button>
$('form#consent button.send').one('click', function() {
$.get('http://www.domain.co.uk/test.php', function() {
$('form#consent').submit();
});
});
推荐阅读
- arrays - 将单个值加载到 VBA 数组
- python - Apache Spark spark.read 未按预期工作
- swift - 当触摸活动仍在发生时如何停止精灵移动
- c# - 在外部项目中定义
- python - 使用 AIOKafka 客户端连接到 Confluent Cloud
- python - 为什么我的包不能用“pipx”安装?
- python - 用 panda 重新采样时间序列
- python - 在python中删除偏移量并将日期时间对象转换为UTC
- python - 通过事件设置时,SUNKEN 值工作不规律
- excel-addins - 无法在 Microsoft 合作伙伴中心发布 Excel 加载项