jQuery AJAX表格的问题
问题描述:
我正在根据客户需求从模板中调整页面。在页面中有两个联系表单,通过AJAX验证并发布到PHP文件。一个是开箱即用的,另一个我已经扩展到包含更多的字段,并且试图获得关联的jQuery函数工作失败。jQuery AJAX表格的问题
该功能禁用HTML的“发布”的本地功能,但实际上并不导致AJAX请求(查看控制台)。
我不想重写这个函数的整个混乱。如果我写这个东西,我会重写这个功能。
$(document).ready(function() {
$("#subscribe").submit(function() {
$("#subscribe .error").remove();
var s = !1;
if ($(".requiredField").each(function() {
if ("" == jQuery.trim($(this).val())) {
{
$(this).prev("label").text()
}
$(this).parent().append('<span class="error">This field is required</span>'), $(this).addClass("inputError"), s = !0
} else if ($(this).hasClass("email")) {
var r = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
if (!r.test(jQuery.trim($(this).val()))) {
{
$(this).prev("label").text()
}
$(this).parent().append('<span class="error">Invalid email address</span>'), $(this).addClass("inputError"), s = !0
}
}
}), !s) {
$("#subscribe input.submit").fadeOut("normal", function() {
$(this).parent().append("")
});
var r = $(this).serialize();
$.post($(this).attr("action"), r, function() {
$("#subscribe").slideUp("fast", function() {
$(this).before('<div class="success">Your email was sent successfully.</div>')
})
})
}
return !1
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="contact.php" id="subscribe" method="post" name="send">
<span class="input input--kuro">
<input class="subscriberequiredField input__field input__field--kuro" id="name" name="name" type="text">
<label class="input__label input__label--kuro" for="subscribeemail">
<span class="mail input__label-content input__label-content--kuro">Name</span>
</label>
</span>
<span class="input input--kuro">
<input class="subscriberequiredField input__field input__field--kuro" id="company" name="company" type="text">
<label class="input__label input__label--kuro" for="subscribeemail">
<span class="mail input__label-content input__label-content--kuro">Company</span>
</label>
</span>
<span class="input input--kuro">
<input class="subscriberequiredField subscribeemail input__field input__field--kuro" id="email" name="email" type="text">
<label class="input__label input__label--kuro" for="subscribeemail">
<span class="mail input__label-content input__label-content--kuro">Email</span>
</label>
</span>
<span class="input input--kuro">
<input class="subscriberequiredField input__field input__field--kuro" id="idea" name="idea" type="text">
<label class="input__label input__label--kuro" for="subscribeemail">
<span class="mail input__label-content input__label-content--kuro">The game-changing idea</span>
</label>
</span>
<span>
<button class="submit-button" id="submit" type="submit">Subscribe</button>
</span>
</form>
答
你应该改变这样的:
$("#subscribe").submit(function() {
到这一点:
$("#subscribe").on('click', (function() {
答
我在plunker修改代码
https://plnkr.co/edit/zb1xBG9PNGM8w4F4Pm94?p=preview
修改后的代码
$("#subscribe").submit(function(event) {
$("#subscribe .error").remove();
event.preventDefault();
对于自定义提交
$("#subscribe").submit();
这么长的问题。 –
'return!1' ...? –
您是否观看过浏览器开发人员工具中的AJAX请求/响应?是否有任何错误报告? –