Хотя атрибут placeholder
может не работать в> 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);
});
Возможно, это еще не всеВаша проблема, чем несовместимый атрибут.