禁用链接直到输入和选择字段具有值

时间:2017-05-11 22:13:57

标签: javascript jquery forms

我希望确保所有下拉字段都有一个选定的值,输入字段有一个值。我怎么能这样做呢?提前谢谢。

$(document).ready(function() {
validate();
$('input').on('keyup', validate);
});

function validate() {
var inputsWithValues = 0;
var myInputs = $("input:not([type='hidden'])");

myInputs.each(function(e) {
// if it has a value, increment the counter
if ($(this).val()) {
  inputsWithValues += 1;
}
});

if (inputsWithValues == myInputs.length) {
$(“.button_link").removeClass('disabled').addAttr("href"); 
} else {
$(“.button_link").addClass('disabled').removeAttr("href");
}
}

我希望看到如何检测输入字段和选择?我的代码只适用于选择。

var myInputs = $("输入:not([type =' hidden'])");

(选择)???

2 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情。你可能需要稍微调整一下。

$(document).ready(function() {
    //validate();
    $('input').on('blur', function(){
        if(validate()){
            $(".button_link").prop('disabled', false);
        } else {
            $(".button_link").prop('disabled', true);
        }
    });
    $('select').on('change', function(){
        if(validate()){
            $(".button_link").prop('disabled', false);
        } else {
            $(".button_link").prop('disabled', true);
        }
    });
});

function validate() {
    $("input:not([type='hidden'],[type='button'])").each(function(){
        if($(this).val() == ""){
            return false;
        }
    });

    $("select").each(function(){
        if($(this).val() == ""){ // change empty string if unselected has a value (e.g. 0)
            return false;
        }
    });

    return true;
}

答案 1 :(得分:0)

好的,我终于有了这个工作,如果有人有任何调整,请告诉我。

<script>
$(document).ready(function() {
validate();
$('input').on('keyup', validate);
$('select').on('change', validate);
});

function validate() {
var inputsWithValues = 0;

// get all input fields except for type='submit'
// var myInputs = $("input:not([type='submit'])");
var myInputs = $("option:selected, input:not([type='hidden'])");

myInputs.each(function(e) {
// if it has a value, increment the counter
if ($(this).val()) {
  inputsWithValues += 1;
}
});

if (inputsWithValues == myInputs.length) {
$(".button_link").removeClass('disabled').addAttr("href"); 
} else {
$(".button_link").addClass('disabled').removeAttr("href");
}
}
</script>