[英]how do I clear the values in my text input fields?
我的代碼無法運行,當您單擊另一個時,我希望清除該值
我究竟做錯了什么?
var placeholderText = $('input').val();
$(placeholderText).focus(function() {
$(this).attr('value', "");
});
$(placeholderText).blur(function() {
$(this).attr('value', phTextVal);
});
您使用“ placeholderText”作為選擇器,不會選擇任何內容。 使用$('input').focus(...
和$('input').blur(...
代替。
UPDATE
如果要存儲現有值,然后替換它,然后將其存儲為.data()
在<input>
元素本身中:
$('input').focus(function() {
$this = $(this);
$this.data('oldval',$this.val());
$this.val('');
});
$('input').blur(function() {
$this = $(this);
$this.val($this.data('oldval'));
});
http://jsfiddle.net/mblase75/AL2vS/12/
或可能:
$('input').blur(function() {
$this = $(this);
if ($this.val().length==0) { // only if the field is blank
$this.val($this.data('oldval'));
};
});
你是這個意思嗎
這至少可以消除文本的工作:
var placeholderText = $('input');
placeholderText.focus(function() {
$(this).attr('value', "");
});
placeholderText.blur(function() {
$(this).attr('value', phTextVal);
});
您還可以查看HTML5 占位符param 。
我想更好的方法是:
var placeholderText = $('input');
$(placeholderText).focus(function() {
phTextVal = $(this).val();
$(this).val("");
}).blur(function() {
$(this).val(phTextVal);
});
看看這個,
$('input').focus(function() {
placeholderText = $('input').val();
$(this).val("");
});
$('input').blur(function() {
$(this).val(placeholderText);
});
您仍然需要對輸入的數據進行處理。
如何使用object.defaultValue屬性?
功能:
$.fn.smartInput=function(){
return this.each(function(i,o){
$(o).focus(function(){ if(this.value==this.defaultValue) this.value='';})
.blur(function(){ this.value=(this.value=='')?this.defaultValue:this.value;});
});
}
用法:
$('input').smartInput();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.