【发布时间】:2021-11-21 07:53:32
【问题描述】:
所以我的问题是 ajax(或其他东西)不适用于表单,最奇怪的是有一种表单可以完美地与 AJAX 一起使用。我已经尝试了很多东西:将input 更改为button 并使用"submit" to "button" 的类型,尝试使用jQuery .post() 和.get() 中的另一种方法,尝试使用xmlHttpRequest。我现在很困惑。也许你能看到我看不到的东西。谢谢
编辑:所以,我对其进行了一些修改,并在控制台中出现了这个错误(现在那里没有任何错误)。 Error
HTML格式
<form action="./contactAction.php" method="POST" class="contact_form" id="cform"name="contactForm">
<input type="text" name="contactFname" placeholder="Prenumele" />
<input type="text" name="contactLname" placeholder="Numele" />
<input type="text" name="contactEmail" placeholder="Emailul tau" />
<textarea name="contactSubject" placeholder="Scrie mesajul tau" style="height: 200px"></textarea>
<button type="submit" name="contactBtn">Submit</button>
</form>
JS
$(document).ready(function () {
$("#contactBtn").click(() => {
contactFormValidation();
});
});
function contactRequest() {
let fname = $("#contactFname");
let lname = $("#contactLname");
let email = $("#contactEmail");
let subj = $("#contactSubject");
$.ajax({
type: "POST",
url: "../../contactAction.php",
data: ({"constactFname": fname, "contactLname": lname, "contactEmail": email, "contactSubject": subj}),
dataType: "html",
success: (response) => {
alert("Request success");
//$("#loginPage").html(response);
},
error: () => {
alert("Error :(");
}
});
return false;
}
function contactFormValidation() {
let $form2 = $("#contactForm");
$form2.validate({
wrapper: "div",
debug: false,
rules: {
contactFname: {
required: true
},
contactLname: {
required: true
},
contactEmail: {
required: true,
email: true
},
contactSubject: {
required: true
}
},
submitHandler: () => {
alert("Submit calledd");
contactRequest();
}
});
}
【问题讨论】:
标签: jquery ajax form-submit