Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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_Html - Fatal编程技术网

Javascript 在动态添加的文本框中输入文本时启用按钮

Javascript 在动态添加的文本框中输入文本时启用按钮,javascript,jquery,html,Javascript,Jquery,Html,我有一个表单,它在文本框中输入信息。首先我显示一个文本框,然后单击一个按钮(添加),另一个文本框显示出来。如果任何文本框为空,我希望禁用“添加”按钮。我的代码如下: <script> function doCheck(){ var allFilled = true; var inputs = document.getElementsByName("a[]"); for(var i=0; i<

我有一个表单,它在文本框中输入信息。首先我显示一个文本框,然后单击一个按钮(添加),另一个文本框显示出来。如果任何文本框为空,我希望禁用“添加”按钮。我的代码如下:

<script>
        function doCheck(){
            var allFilled = true;
            var inputs = document.getElementsByName("a[]");
            for(var i=0; i<inputs.length; i++){
                if(inputs[i].type == "text" && inputs[i].value == ''){
                    allFilled = false;
                    break;
                }
            }
            document.getElementById("add_a").disabled = !allFilled;
        }

        window.onload = function(){
            var inputs = document.getElementsByName("a[]");
            for(var i=0; i<inputs.length; i++){
                if(inputs[i].type == "text"){
                    inputs[i].onkeyup = doCheck;
                    inputs[i].onblur = doCheck;
                }
            }
        };
        $(document).ready(function(){
            $("#add_a").click(function(){
                $("#a").append("<li><input class='textbox' name='a[]' type='text' size='120'></li>");
            });
       });
    </script>

函数doCheck(){
var-allFilled=true;
var inputs=document.getElementsByName(“a[]);
对于(var i=0;i用于将函数绑定到页面加载中存在的元素(如
document
或更接近该元素的包含div):

用于将函数绑定到页面加载中存在的元素(如
文档
或更靠近该元素的包含div):


注意:不要在代码中混合使用jQuery和javascript

你需要做两件事才能让这一切顺利进行

首先,

$("#add_a").click(function () {
    $("#a").append("<li><input class='textbox' name='a[]' type='text' size='120'></li>");
    $("#add_a").prop('disabled', true); //disable immediately after adding
});

注意:不要在代码中混合使用jQuery和javascript

你需要做两件事才能让这一切顺利进行

首先,

$("#add_a").click(function () {
    $("#a").append("<li><input class='textbox' name='a[]' type='text' size='120'></li>");
    $("#add_a").prop('disabled', true); //disable immediately after adding
});

这里有一个肮脏的版本供您尝试。如果它对您有效,我会回来轻推它。正如其他人所说,当您使用jQuery时,请充分利用它

$("#add_a").click(function(){
    $("#a").append("<li><input class='textbox' name='a[]' type='text' size='40'></li>");
    $(this).prop("disabled", true);
});

$(document).on("keyup", "#a input", function() {
    var emptyInputs = $("#a").find("input").filter(function() {
        return $.trim( $(this).val() ) == ""
    }).length;
    $("#add_a").prop("disabled", emptyInputs);
});
$(“#添加a”)。单击(函数(){
$(“#a”)。追加(“
  • ”); $(this.prop(“disabled”,true); }); $(document).on(“keyup”,“a input”,function(){ var emptyInputs=$(“#a”).find(“input”).filter(函数(){ 返回$.trim($(this.val())==“” }).长度; $(“#添加a”).prop(“已禁用”,清空输入); });

    Demo@

    这里有一个肮脏的版本供您尝试。如果它对您有效,我会回来推它。正如其他人所说,当您使用jQuery时,请充分利用它

    $("#add_a").click(function(){
        $("#a").append("<li><input class='textbox' name='a[]' type='text' size='40'></li>");
        $(this).prop("disabled", true);
    });
    
    $(document).on("keyup", "#a input", function() {
        var emptyInputs = $("#a").find("input").filter(function() {
            return $.trim( $(this).val() ) == ""
        }).length;
        $("#add_a").prop("disabled", emptyInputs);
    });
    
    $(“#添加a”)。单击(函数(){
    $(“#a”)。追加(“
  • ”); $(this.prop(“disabled”,true); }); $(document).on(“keyup”,“a input”,function(){ var emptyInputs=$(“#a”).find(“input”).filter(函数(){ 返回$.trim($(this.val())==“” }).长度; $(“#添加a”).prop(“已禁用”,清空输入); });

    Demo@

    感谢您让我知道我的dup帖子..我的网页在提交时卡住了,所以我提交了两次感谢您让我知道我的dup帖子..我的网页在提交时卡住了,所以我提交了两次,因为您将事件绑定到$(文档)。就绪()。此代码仅在网站完全加载时执行。您需要将click()事件添加到动态添加的文本框中。它仅适用于第一个文本框,因为您将事件绑定到$(document).ready()。此代码仅在网站完全加载时执行。您需要将click()事件添加到动态添加的文本框中。
    $("#add_a").click(function(){
        $("#a").append("<li><input class='textbox' name='a[]' type='text' size='40'></li>");
        $(this).prop("disabled", true);
    });
    
    $(document).on("keyup", "#a input", function() {
        var emptyInputs = $("#a").find("input").filter(function() {
            return $.trim( $(this).val() ) == ""
        }).length;
        $("#add_a").prop("disabled", emptyInputs);
    });