Сижу я такой, хочу сделать плейсхолдер для инпута своими руками.
Сам инпут вот
<input type="text" onCLick="inputPlaceholderHide('Ваше имя *', 'name');" onBlur='inputPlaceholderShow("Ваше имя *", name);' id='block6_input_name' value="Ваше имя *">
Часть скрипта вот:
function inputPlaceholderHide(value, blockId){
if ($('#block6_input_'+blockId).val()==value){
$('#block6_input_'+blockId).val('');
}
} // работает
function inputPlaceholderShow(value, blockId){
if ($('#block6_input_'+blockId).val()==''){
$('#block6_input_'+blockId).val(value);
}
} // не работает
WTF?
Обнаружил что иф не проходит во втором, хотя строка пустая, даже алерт через консоль запускал и сообщение пустое было. И с нулем сравнивал, и с нуллом – бесполезно. Решение нашел в обращение через стандартный яваскрипт:
function inputPlaceholderShow(value, blockId){
if (document.block6_form.block6_input_name.value == ""){
document.block6_form.block6_input_name.value = value;
}
} // работает
Но все-таки мучает вопрос – почему не сработало? Через val() нельзя сравнивать с пустой строкой?