2013-07-25 89 views
0

我有默認值的文本框,我不能輸入值,當我試圖進入時,我必須先刪除使用刪除鍵的現有值,然後只有我可以輸入。javascript:默認值的文本框

我想輸入值和選項卡上的變化,它應該改變爲另一個盒子,目前它正在改變焦點,但我不能輸入值。

<input type="text" name="namebox" id="{concat('textboxvalue', position())}" value="{@proj}" style="font-size:10px;padding:0px;height:15px;width:90px;text-align:right;"/> 

@proj:從數據庫來

謝謝值, 安仁

+0

Animesh

+0

告訴我們一些代碼 – Satpal

+0

@proj - 是默認值從數據庫 未來有多個文本框我創建環路 – Animesh

回答

4

您可以輸入標籤和textarea的標籤使用佔位符:

<input type='text' placeholder='Default text here' /> 
<textarea placeholder='Default text here'></textarea> 

然後用使用jQuery回退:

$(document).ready(function(e){ 
    var defaultVal = "Default text here"; 
    $("input, textarea").val(defaultVal).on("focus", function(){ 
     if($(this).val() == defaultVal){ 
      $(this).val(""); 
     } 
    }).on("blur", function(){ 
     if($(this).val() == ""){ 
      $(this).val(defaultVal); 
     } 
    }); 

}); 

這裏:http://jsfiddle.net/EZexQ/1/

+0

佔位符沒有得到普遍支持。 – BenM

+1

所有主流瀏覽器的最新版本都支持它:http://caniuse.com/#search=placeholder儘管這是值得一提的。 – Halcyon

+0

嘗試此更新:http://jsfiddle.net/EZexQ/1/。使用Javascript後備。 –

0

我建議你看看this css-trick article
它有一個與jQuery的後備html5 placeholder屬性的例子。

function elementSupportsAttribute(element, attribute) { 
    var test = document.createElement(element); 
    if (attribute in test) { 
    return true; 
    } else { 
    return false; 
    } 
}; 


if (!elementSupportsAttribute('textarea', 'placeholder')) { 
    // Fallback for browsers that don't support HTML5 placeholder attribute 
    $("#example-three") 
    .data("originalText", $("#example-three").text()) 
    .css("color", "#999") 
    .focus(function() { 
     var $el = $(this); 
     if (this.value == $el.data("originalText")) { 
      this.value = ""; 
     } 
    }) 
    .blur(function() { 
     if (this.value == "") { 
      this.value = $(this).data("originalText"); 
     } 
    }); 
} else { 
    // Browser does support HTML5 placeholder attribute, so use it. 
    $("#example-three") 
    .attr("placeholder", $("#example-three").text()) 
    .text(""); 
} 
0

關注焦點。只需刪除值。 以下是jquery中的示例代碼。雖然可以用普通的javscript來完成。

<input value=10> 
<input value=20> 
<input value=30> 

$('input').on('focus', function(){ 
    $(this).val('') 
}) 
+0

替換'defaultVal',然後他重新調整同樣,輸入的值將被清除。 –

0

輸入元素有一個名爲defaultValue的DOM屬性。由於佔位符不適用於舊瀏覽器,因此我提供此解決方案。

First name: <input type="text" name="fname" value="John"><br> 
Last name: <input type="text" name="lname" value="Doe"><br> 

在你的jQuery,它可以通過prop('defaultValue') 訪問那麼試試這個。

$('input').focus(function(){ 
if($(this).val() == $(this).prop('defaultValue')) 
    $(this).val(''); 
}).blur(function(){ 
    if($(this).val() == '') 
    $(this).val($(this).prop('defaultValue')); 
}); 

工作撥弄here