【发布时间】:2021-09-19 05:04:18
【问题描述】:
好的,所以这可能是一个有点令人困惑的问题,但无论如何: 我有一个表单,以外部 URL 为目标进行验证。
<form
id="form1"
name="form1"
class="formclass"
accept-charset="UTF-8"
autocomplete="off"
enctype="multipart/form-data"
method="post"
novalidate
action="https://www.external_url.com"
>
但是,我想在用户单击提交按钮并将表单发送到外部 URL 时做一些事情。 基本上,我试图通过从那里删除表单中的操作并创建一个事件处理程序来实现这一点:
button=document.getElementById("SubmitButton");
button.addEventListener('click', submitaction);
function submitaction() {
// Do something and THEN submit it to external URL
}
当我完成“做某事”(例如,可能在发送之前显示警报)时,我想获取整个表单并将其发送到外部。 我需要做什么才能完全实现与表单中的操作相同的输出?
谢谢大家!
编辑:
我接受了有关提交事件侦听器的建议。但是,在提交表单之前应进行 AJAX 请求。
form1.addEventListener('submit', function(e) {
$.ajax({
type: 'POST',
url: 'form_submission.php',
data: {'check_input': input.value},
success: function(response){
if (response == true){
alert("Thank you for your inquiry!");
}
}
else {
alert("Your input entered was incorrect.")
e.preventDefault();
}
}
}
);
不知何故,事件监听器只是忽略了我的 AJAX 请求并仍然提交表单。它甚至不显示警报,这非常奇怪。
【问题讨论】:
标签: javascript html forms