问题描述
如果confirm为true,我试图调用另一个jQuery函数,这里是代码:
jQuery(#adminForm_1 ).submit(function(){
var empty = false;
jQuery(:input,#adminForm_1)each(function(){
empty =(jQuery(this).val()==)?true:empty;
});
if(empty){
if(confirm('You )){
jQuery(#adminForm_1)。validationEngine({
ajaxSubmit:true,
ajaxSubmitFile:/index.php?option=com_database&view=tripdetails&Itemid=12&client=1&task=save,
ajaxSubmitMessage:已保存客户旅行详情,
inlineValidation:false,
success:false,
failure:function(){}
});
} else {
return false;
};
}
});
^^上述代码无效,但您会看到我想要的内容你需要防止浏览器在窗体上进行默认操作,这是将其提交给服务器的传统方式办法。在提交处理程序结束时,或者返回false
,或者在开始处放置 e.preventDefault()
p>
jQuery(#adminForm_1)。submit(function(e){
e.preventDefault();
...
或者:
<$ p jQuery(#adminForm_1)。submit(function(){
var empty = false;
jQuery(:input,#adminForm_1 ).each(function(){
empty =(jQuery(this).val()==)?true:empty;
});
if(empty){
if(confirm('您没有填写所有字段,是否希望继续?')){
...
});
}
}
返回false;
});
请参阅:
至于旁注 return false
与 preventDefault
具有相同的效果,它会停止冒泡事件到父元素。 jQuery的实现机制在方法中。换句话说,返回false
= e.preventDefault + e.stopPagagation
I'm trying to call another jQuery function if confirm is true, here's the code:
jQuery("#adminForm_1").submit(function () {
var empty = false;
jQuery(":input", "#adminForm_1").each(function () {
empty = (jQuery(this).val() == "") ? true : empty;
});
if (empty) {
if (confirm('You have not filled out all of the fields, do you wish to continue?')) {
jQuery("#adminForm_1").validationEngine({
ajaxSubmit: true,
ajaxSubmitFile: "/index.php?option=com_database&view=tripdetails&Itemid=12&client=1&task=save",
ajaxSubmitMessage: "Client Trip Details Saved",
inlineValidation: false,
success: false,
failure: function () {}
});
} else {
return false;
};
}
});
^^ the above code doesn't work, but you'll see what I'm trying to do..
You need to prevent the browser's default action on the form, which is to submit it to the server the traditional way. Either return false
at the end of your submit handler, or put e.preventDefault()
at the beginning:
jQuery("#adminForm_1").submit(function (e) {
e.preventDefault();
...
or:
jQuery("#adminForm_1").submit(function () {
var empty = false;
jQuery(":input", "#adminForm_1").each(function () {
empty = (jQuery(this).val() == "") ? true : empty;
});
if (empty) {
if (confirm('You have not filled out all of the fields, do you wish to continue?')) {
...
});
}
}
return false;
});
See preventDefault
:
As as side-note return false
has the same effect as preventDefault
plus it stops the bubbling of the event to parent elements. jQuery's mechanism for achieving that is in the stopPropagation method. In other words, return false
= e.preventDefault + e.stopPropagation
这篇关于如果确认为真,则调用另一个jQuery函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!