2013-03-27 27 views
1

我試圖弄清楚如何每個輸入(文本和密碼)領域所有形式的頁面文件的目標與此單個腳本時取消對焦點默認值:如何定位所有輸入的文本和密碼值?

$(document).ready(function() 
{ 
    Input = $('input'); 
    default_value = Input.val(); 

    $('input').focus(function() 
    { 
     if($(this).val() == default_value) 
     { 
      $(this).val(""); 
     } 
    }).blur(function() 
    { 
     if($(this).val().length == 0) 
     { 
      $(this).val(default_value); 
     } 
    }); 
}); 

它僅在我的頁面上的第一個表單中的第一個輸入文本元素,但其餘的都沒有。請幫忙!

回答

0

這是因爲val只返回第一個選定元素的值而不是存儲值,所以可以使用HTMLInputElement對象的defaultValue屬性。

$('input[type=text], input[type=password]').focus(function() { 
    if (this.value === this.defaultValue) $(this).val(""); 
}).blur(function(){ 
    if (this.value.length === 0) this.value = this.defaultValue; 
}); 

http://jsfiddle.net/MscgZ/

+0

這一個工程!非常感謝。乾杯! – netizen0911 2013-03-27 23:55:46

+0

我可以再問一件事。我如何添加功能,這個腳本來禁用如果留在默認值的字段或尚未填寫提交按鈕? – netizen0911 2013-03-28 00:03:06

+0

@ netizen0911歡迎你,當然,你要聽提交'form'元素的情況下,如果值是'然後defualtValue's使用'回報FALSE'防止提交。 – undefined 2013-03-28 00:07:50

1

獲取所有的輸入類型文本值:

$("input:text").each(function() { 
    alert($(this).val()); 
}); 

獲取所有輸入類型的密碼值:

$("input:password").each(function() { 
    alert($(this).val()); 
}); 
+1

完全正確 – 2013-03-27 23:43:29

+0

不完全是!這不是基於類型選擇的首選方式,因爲它不能利用querySelectorAll。 – adeneo 2013-03-27 23:49:56

+0

這不回答問題。 – undefined 2013-03-27 23:51:54

相關問題