jQuery:按钮在.removeClass之后不会提交
jQuery: Button will not submit after .removeClass
我正在尝试在Wordpress中执行一些基本的表单验证,这或多或少是我第一次尝试JS/jQuery。
我有下面的脚本,如果_sku
值为空,它会阻止按钮提交表单。这是有效的,但是在函数被激发,并且用户在"_sku"中输入值之后,按钮仍然被禁用。将按钮重新设置为活动状态的最佳方法是什么。
(function($) {
$( document ).ready(function() {
jQuery('#post').submit(function() {
if ($("#_sku").val() == '') {
alert("Please enter a valid GTIN");
$('#ajax-loading').hide();
$('#publish').removeClass('button-primary-disabled');
}
return false;
});
});
}(jQuery));
试试这个:将return false
移动到if语句内的
jQuery('#post').submit(function() {
if ($("#_sku").val() == '') {
alert("Please enter a valid GTIN");
$('#ajax-loading').hide();
$('#publish').removeClass('button-primary-disabled');
return false; // move this inside the if statement
}
});
这是因为如果return false;
在if语句的外部,则即使_sku
的值为
当函数到达return false
行时,您总是要退出它。尝试:
$( document ).ready(function() {
jQuery('#post').submit(function() {
if ($("#_sku").val() == '') {
alert("Please enter a valid GTIN");
$('#ajax-loading').hide();
$('#publish').removeClass('button-primary-disabled');
return false;
}
});
});
无论字段_sku
的验证结果如何,您总是从代码中返回false
如果您可以在php文件中编辑代码,那么一旦提交表单。然后,只需像现在这样显示禁用了"_sku"的值。但输入类型的名称应该是其他名称。并将该值保存在名称为_sku的隐藏值中。这将不会再次请求_sku。
this may help you,
(function($) {
$( document ).ready(function() {
jQuery('#post').submit(function() {
if ($("#_sku").val() == '') {
alert("Please enter a valid GTIN");
$('#ajax-loading').hide();
$('#publish').removeClass('button-primary-disabled');
return false;
} else {
$('#ajax-loading').hide();
$('#publish').addClass('button-primary-disabled');
return true;
}
});
});
enter code here
}(jQuery));
相关文章:
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 阻止在 jQuery 验证引擎之后提交
- 无法在 jquery.html() 之后将表单提交到 jquery ui 对话框中
- 有没有我可以听的事件发生在表单提交之后,并且在表单通过HTML5验证之后
- 值通过表单提交,然后即使在提交并显示值之后,也会以表单显示已提交的值
- IE9在302之后重新提交表单-可能是由于递归setTimeout()调用
- 表单提交甚至在返回false jquery之后
- jQuery:按钮在.removeClass之后不会提交
- 当我禁用提交按钮(在表单提交之后)时,页面不会加载
- 在只调用了一次函数return false之后,表单并没有进行提交
- 无论如何,在执行entityAspect.acceptChanges之后,知道实体何时完成提交
- JQuery确认对话框,在按下提交按钮之后,但在使用.ajax()发布之前
- 我想在ajaxForm之后做点什么.提交,在哪里放置代码
- 表单提交是提交一次,之后每次加倍
- 在提交表单之前,Javascript在X字符之后删除
- 我如何提交一个表单,并获得与幻影js之后的内容
- 如何在event.preventDefault()之后提交表单
- 在验证之后但在提交之前运行跟踪代码
- 使用jquery来阻止表单提交在第一个preventDefault之后就不起作用了
- 尝试将焦点设置在表单元素的id上,使用在警报消息之后,但是JSP页面提交