我有一個html表單,它使用jQuery的焦點和模糊來清除和恢復一些預設的字段文本。然而,表單是在一個模式對話框中,可以隱藏和顯示使用jQuery的hide()和show()。然而,當表單是隱藏的,它拋出一個JavaScript錯誤:JQuery - 元素不可聚焦的錯誤/如何強制模糊?
an invalid form control with name = 'email' is not focusable
我假設這是因爲形式是隱藏的,不能被訪問。有沒有辦法強制模糊事件?或者某種方式來解決這個錯誤?這裏是我的代碼:
$j('.dField').focus(function(){
clearInput($j(this)[0]); //The [0] seems to be necessary to retrieve the element at the DOM object level
});
$j('.dField').blur(function(){
restoreInput($j(this)[0]);
});
function clearInput(textField) {
if (textField.value == textField.defaultValue) {
textField.value = "";
}
}
//Restores the default value
function restoreInput(textField){
if (textField.value == ""){
textField.value = textField.defaultValue;
}
}
$j('#dFormBack').click(function(){
$j('#dContentContainer').show();
$j('#vehicle_form').hide();
});
之前隱藏的'[0]'等同於'獲得(0)'。它檢索jQuery對象中指定位置的底層DOM元素。 http://api.jquery.com/get/ –
注意:你是否嘗試使用placeholder屬性來代替(可能是一個佔位符插件來實現可兼容性)? – David
當您談論佔位符插件時,我不確定您指的是什麼? – mheavers