Javascript触发器在“上”;按键;及;粘贴";

Javascript触发器在“上”;按键;及;粘贴";,javascript,Javascript,我有一个JavaScript,它检查一个字段是否等于15个字符,如果不等于15个字符,提交按钮就会变灰。如果我手动键入15个字符,这会很好地工作,但如果我粘贴15个字符,则不会工作。即使将内容粘贴到字段中,如何使其进行检查 我可以让它定期(秒)检查字符,还是有“粘贴检查”功能 我的剧本: <script type="text/javascript"> jQuery(document).ready(function($){ $('input[type=submit]').attr("d

我有一个JavaScript,它检查一个字段是否等于15个字符,如果不等于15个字符,提交按钮就会变灰。如果我手动键入15个字符,这会很好地工作,但如果我粘贴15个字符,则不会工作。即使将内容粘贴到字段中,如何使其进行检查

我可以让它定期(秒)检查字符,还是有“粘贴检查”功能

我的剧本:

<script type="text/javascript">
jQuery(document).ready(function($){
$('input[type=submit]').attr("disabled","disabled");
$('input[name="item_meta[1234]"]').keypress(function() { //change # to the ID of your field
        if (document.getElementById("field_ygtw9u").value.length < 14) { //disable submit if "no" is selected
              $('input[type=submit]').attr("disabled","disabled");
        } else { //enable the submit button
              $('input[type=submit]').removeAttr('disabled');
        }
  });
});
</script>

<form>
<div id="frm_field_1234_container" class="frm_form_field form-field  frm_required_field frm_top_container">
<label class="frm_primary_label">Minimun 15 char:
    <span class="frm_required"></span>
</label>
<input type="text" id="field_ygtw9u" name="item_meta[1234]" value=""  maxlength="15" class="required"/>

<p class="submit">
<input type="submit" value="Submit" />
</p>
</form>

jQuery(文档).ready(函数($){
$('input[type=submit]').attr(“disabled”、“disabled”);
$('input[name=“item_meta[1234]”)。按键(function(){//change#设置字段的ID
如果(document.getElementById(“field_ygtw9u”).value.length<14){//如果选择“否”,则禁用提交
$('input[type=submit]').attr(“disabled”、“disabled”);
}否则{//启用提交按钮
$('input[type=submit]')。removeAttr('disabled');
}
});
});
最小15个字符:


您应该使用
属性更改
(IE)和
输入
事件

$('input[name=“item_meta[1234]”)。将(“input”,function(){//change#绑定到字段的ID
如果(document.getElementById(“field_ygtw9u”).value.length<14){//如果选择“否”,则禁用提交
$('input[type=submit]').attr(“disabled”、“disabled”);
}否则{//启用提交按钮
$('input[type=submit]')。removeAttr('disabled');
}
});
$('input[name=“item_meta[1234]”)。将(“propertychange”,function(){//change#绑定到字段的ID
如果(document.getElementById(“field_ygtw9u”).value.length<14){//如果选择“否”,则禁用提交
$('input[type=submit]').attr(“disabled”、“disabled”);
}否则{//启用提交按钮
$('input[type=submit]')。removeAttr('disabled');
}
});

按键
更改为
按键
,它应该可以工作。

试试类似的方法

var $submit = $('input[type=submit]').attr("disabled","disabled");
$('input[name="item_meta[1234]"]').keyup(function() { //change # to the ID of your field
    var $this = $(this);
    if ($this.val().length < 14) { //disable submit if "no" is selected
        $submit.attr("disabled","disabled");
    } else { //enable the submit button
        $submit.removeAttr('disabled');
    }
  });

$('#field_ygtw9u').on('paste', function(e){
    var $this = $(this);
    setTimeout(function() {
        if ($this.val().length < 14) { //disable submit if "no" is selected
            $submit.attr("disabled","disabled");
        } else { //enable the submit button
            $submit.removeAttr('disabled');
        }
    }, 0);
});
var$submit=$('input[type=submit]').attr(“disabled”、“disabled”);
$('input[name=“item_meta[1234]”)。将(function(){//change#设置为字段的ID
var$this=$(this);
如果($this.val().length<14){//如果选择“否”,则禁用提交
$submit.attr(“禁用”、“禁用”);
}否则{//启用提交按钮
$submit.removeAttr('disabled');
}
});
$(“#字段_ygtw9u”)。在('paste',函数(e)上{
var$this=$(this);
setTimeout(函数(){
如果($this.val().length<14){//如果选择“否”,则禁用提交
$submit.attr(“禁用”、“禁用”);
}否则{//启用提交按钮
$submit.removeAttr('disabled');
}
}, 0);
});
演示:

不要使用
keypress
事件,因为在IE/Chrome

测试中按
退格
时不会触发该事件。小提琴:


函数checkInput(){
如果(document.getElementById(“field_ygtw9u”).value.length<14){//如果选择“否”,则禁用提交
$('input[type=submit]').attr(“disabled”、“disabled”);
}否则{//启用提交按钮
$('input[type=submit]')。removeAttr('disabled');
}
}
jQuery(文档).ready(函数($){
$('input[type=submit]').attr(“disabled”、“disabled”);
$('input[name=“item_meta[1234]”)。将(“input”,function(){//change#绑定到字段的ID
checkInput();
});
$('input[name=“item_meta[1234]”)。将(“propertychange”,function(){//change#绑定到字段的ID
checkInput();
});
});
最小15个字符:


你的意思是什么?这就是所有的代码。如果有帮助的话,我也会在上面添加我的HTML?试试onpaste事件<代码>。如果有帮助,请告诉我。如果在chrome中按了
backspace
,则不会触发Fiddle
按键
,并且我得到了它,请检查!这很有魅力。现在,它验证手动输入和粘贴输入的输入。非常感谢。之所以选择这个解决方案,是因为它是最简单的,并且在IE和Chrome中都能实现。
var $submit = $('input[type=submit]').attr("disabled","disabled");
$('input[name="item_meta[1234]"]').keyup(function() { //change # to the ID of your field
    var $this = $(this);
    if ($this.val().length < 14) { //disable submit if "no" is selected
        $submit.attr("disabled","disabled");
    } else { //enable the submit button
        $submit.removeAttr('disabled');
    }
  });

$('#field_ygtw9u').on('paste', function(e){
    var $this = $(this);
    setTimeout(function() {
        if ($this.val().length < 14) { //disable submit if "no" is selected
            $submit.attr("disabled","disabled");
        } else { //enable the submit button
            $submit.removeAttr('disabled');
        }
    }, 0);
});
<script type="text/javascript">
    function checkInput() {
        if (document.getElementById("field_ygtw9u").value.length < 14) { //disable submit if "no" is selected
                $('input[type=submit]').attr("disabled", "disabled");
            } else { //enable the submit button
                $('input[type=submit]').removeAttr('disabled');
            }
    }

    jQuery(document).ready(function ($) {
        $('input[type=submit]').attr("disabled", "disabled");
        $('input[name="item_meta[1234]"]').bind("input", function () { //change # to the ID of your field
            checkInput();    
        });

        $('input[name="item_meta[1234]"]').bind("propertychange", function () { //change # to the ID of your field
            checkInput();
        });
    });
</script>

<form>
    <div id="frm_field_1234_container" class="frm_form_field form-field  frm_required_field frm_top_container">
        <label class="frm_primary_label">Minimun 15 char: <span class="frm_required"></span>

        </label>
        <input type="text" id="field_ygtw9u" name="item_meta[1234]" value="" maxlength="15"
        class="required" />
        <p class="submit">
            <input type="submit" value="Submit" />
        </p>
</form>