jQuery:Button不会在.removeClass之后提交

时间:2015-12-22 11:26:25

标签: javascript jquery

我试图在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));

5 个答案:

答案 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有值

,它也会返回false

答案 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));