[英]really simple javascript to remove value in text box
iv有一個非常簡單的javascript問題。 這里我會使用查詢來查詢部分內容,但是有一些通過javascript進行查詢的方式。 基本上,我正在寫一個小腳本,因此單擊一個文本框中的值時,它將帶走該值,以便您可以鍵入(例如,對於大多數用戶名框,它們都有一個小注釋)。 可能有更好的方法(我已經想到了),因此也可以建議它們。 無論如何,我都能輕松地運行該部件,問題在於,每當用戶再次單擊時,所有數據都將被刪除,因此,如果他們只是想調整某些內容,則無法調整。 為了解決這個問題(以秒為單位顯示代碼),我放入了一個檢查變量和一個if。 這就是它的樣子。 (不起作用,順便說一句)
var unumber = 0;
var pnumber = 0;
if(unumber<1){
$('#username').click(function(){
unumber = 1;
$('#username').val('');
});
};
if(pnumber<1){
$('#password').click(function(){
$('#password').val('');
pnumber = 1;
});
};
我假設發生的事情是每次單擊一次都會重置變量,這會導致一個更普遍的問題,如果是這種情況,為什么整個腳本而不是事件處理程序都將運行? 我是Java語言的新手,如果這是一個愚蠢的問題,請原諒我。 無論如何,這是一個非常簡單的腳本,並且有更好,更有效的方法來執行此操作,但是如何以這種方式完成操作呢?
小於1的支票應在點擊處理程序中
var unumber = 0;
var pnumber = 0;
$('#username').click(function(){
if(unumber<1){
unumber = 1;
$('#username').val('');
}
});
$('#password').click(function(){
if(pnumber<1){
pnumber = 1;
$('#password').val('');
}
});
請注意,這不是很可靠,它不能處理制表符。 要解決此問題,請處理focus
事件。
另一個問題是,如果您未輸入任何內容並離開該字段,則不會收到該消息。 更好的方法是在字段獲得焦點時與初始值進行比較。 如果離開該字段時那里什么也沒有,請恢復為原始值。
這是一個用於創建這些占位符的jQuery插件: https : //github.com/mathiasbynens/Placeholder-jQuery-Plugin
此外,較新的瀏覽器也支持placeholder
屬性,該placeholder
屬性的作用完全符合http://www.paciellogroup.com/blog/2011/02/html5-accessibility-chops-the-placeholder-attribute/
我想說的最好的方法是在文本輸入中添加一個清晰的按鈕。 參見示例: 如何像iPhone一樣在HTML文本輸入框中放置一個清除按鈕?
無需進行混亂的數字檢查,使用有關元素上的數據
這應該為您工作。
$('#username,#password').focus(function(){
if(!$(this).data('seen')) {
$(this).data('seen',true);
$(this).val('');
}
});
您可以存儲占位符,如果用戶未輸入任何內容,則可以重新替換為模糊。 更詳細的實現在這里:
http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.