我试图在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));
答案 0 :(得分:2)
试试这个:将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
有值
答案 1 :(得分:1)
当它到达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;
}
});
});
答案 2 :(得分:1)
从您的代码中,无论字段false
的验证结果如何,您都会返回_sku
答案 3 :(得分:1)
如果你可以在php文件中编辑代码,那么一旦提交了表单。然后只需显示已禁用的值" _sku"就像你现在正在做的那样。但是输入类型的名称应该是其他的。并将值保存为隐藏值,名称为_sku。这不会再次要求_sku。
答案 4 :(得分:0)
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));