Javascript Ajax在parsley.js验证后提交
我有一个通过ajax提交的表单。很好。然而,我正在努力解决如何仅在欧芹成功验证表单时提交它 问题是,即使欧芹显示问题,表单也会提交。我怎么能允许这样呢Javascript Ajax在parsley.js验证后提交,javascript,jquery,ajax,parsley.js,Javascript,Jquery,Ajax,Parsley.js,我有一个通过ajax提交的表单。很好。然而,我正在努力解决如何仅在欧芹成功验证表单时提交它 问题是,即使欧芹显示问题,表单也会提交。我怎么能允许这样呢 <script> $(document).ready(function(){ $('#newsletterSubscribe').on('submit',function(e) { $.ajax({ url:'scripts/newsletter.php', data:$(this).serialize(
<script>
$(document).ready(function(){
$('#newsletterSubscribe').on('submit',function(e) {
$.ajax({
url:'scripts/newsletter.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
$("#success").show().fadeOut(20000); //=== Show Success Message==
},
error:function(data){
$("#error").show().fadeOut(20000); //===Show Error Message====
}
});
e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
});
});
</script>
$(文档).ready(函数(){
$(“#时事通讯订阅”)。关于('submit',函数(e){
$.ajax({
url:'scripts/newsletter.php',
数据:$(this).serialize(),
类型:'POST',
成功:功能(数据){
控制台日志(数据);
$(“#success”).show().fadeOut(20000);/==显示成功消息==
},
错误:函数(数据){
$(“#错误”).show().fadeOut(20000);/==显示错误消息====
}
});
e、 preventDefault();//==要避免页面刷新并触发事件“单击”===
});
});
您需要添加欧芹验证条件,如下所示:
<script>
$(document).ready(function(){
$('#newsletterSubscribe').on('submit',function(e) {
e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
if ( $(this).parsley().isValid() ) {
$.ajax({
url:'scripts/newsletter.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
$("#success").show().fadeOut(20000); //=== Show Success Message==
},
error:function(data){
$("#error").show().fadeOut(20000); //===Show Error Message====
}
});
}
});
});
</script>
$(文档).ready(函数(){
$(“#时事通讯订阅”)。关于('submit',函数(e){
e、 preventDefault();//==要避免页面刷新并触发事件“单击”===
如果($(this.parsley().isValid()){
$.ajax({
url:'scripts/newsletter.php',
数据:$(this).serialize(),
类型:'POST',
成功:功能(数据){
控制台日志(数据);
$(“#success”).show().fadeOut(20000);/==显示成功消息==
},
错误:函数(数据){
$(“#错误”).show().fadeOut(20000);/==显示错误消息====
}
});
}
});
});
还请注意,预防默认行为被设置为过程的第一步。这可能会有帮助@karan3112是的,我看到了。我试图将整个AJAX调用放入if($(this).parsley().isValid())中,但它会在表单提交时刷新页面。所以我认为这应该是您的问题。用你的
parsley
代码编辑你的问题。正如@karan3112所说的,在ajax调用之前,包括你正在检查parsley错误的javascript。事实上,这是行不通的。如果您的代码与上面链接中的答案类似,但仍然不起作用,则需要检查javascript错误。