Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用链接,直到输入和选择字段具有值_Javascript_Jquery_Forms - Fatal编程技术网

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

Javascript 禁用链接,直到输入和选择字段具有值,javascript,jquery,forms,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) {

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

$(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=$(“输入:非([type='hidden']))”


(选择)???

您可以尝试类似的方法。你可能需要稍微调整一下

$(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;
}

好的,我终于让这个工作,如果有任何人有任何调整,请让我知道

<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>

$(文档).ready(函数(){
验证();
$('input')。在('keyup',validate)上;
$('select')。在('change',validate')上;
});
函数验证(){
var InputSwithValue=0;
//获取除type='submit'之外的所有输入字段
//var myInputs=$(“输入:非([type='submit']))”;
var myInputs=$(“选项:选中,输入:不([type='hidden']))”;
myInputs.each(函数(e){
//如果有值,则递增计数器
if($(this.val()){
输入值+=1;
}
});
if(inputsWithValues==myInputs.length){
$(“.button_link”).removeClass('disabled').addAttr(“href”);
}否则{
$(“.button_link”).addClass('disabled').removeAttr(“href”);
}
}

看来你走对了方向。不过,你需要记住几件事。下拉列表不是输入,而是选择。此外,在输入时,检查$(this).val()将始终为true。也许你的意思是$(这个).val()!=“我几乎被卡住了,我试了几个小时,但都没有成功。如何检查以确保Select在输入字段中也有一个值?我不确定从何处开始调整。我把它放进去了,但它并没有禁用按钮,也似乎不起作用。它少了2个)。我不知道如何找到他们应该去的地方,我不是一个程序员,并试图抓住它,但娜达。2缺失什么?你也可以发布你的HTML代码吗?这可能会有所帮助,因为上面的代码缺少右括号。我的代码似乎调试得很好,它不适用于Select。button\u链接指的是什么类型的元素?顺便说一句,没有addAttr()函数。你想在那里做什么?