如何在IE中占位符的字段长度与字段内容长度之间用JS来区分JS。我试图获取输入字段/文本区域的内容的长度,但IE将占位符文本计为内容。
<input type="text" value="" id="some_field" placeholder="Test" />
jQuery("#some_field").val().length //in Safari/Chrome/FF = 0 in IE7/8 = 4.
答案 0 :(得分:2)
虽然placeholder
属性可能无法在&gt; IE9中使用,但它无法解释为什么浏览器会将placeholder
属性的长度任意解释为其值的长度。
为了使事情变得更有趣,我无法在IE7或IE8中复制此行为。在两个浏览器中,当字段为空时,我的长度为0。
这是我运行的脚本:http://jsfiddle.net/ASmJX/1/
我还使用prop()
方法来查看它是否有所作为。我建议你这样做。
<强> HTML 强>
<input type="text" value="" id="some_field" placeholder="Test" />
<p>
<button type="button" id="test_val">Check Length - val()</button>
<button type="button" id="test_prop">Check Length - prop()</button>
</p>
<强> JS 强>
$('#test_val').on('click', function() {
alert($("#some_field").val().length);
});
$('#test_prop').on('click', function() {
alert($("#some_field").prop('value').length);
});
也许您的问题不仅仅是不兼容的属性。