我有一个输入框,其中分配了默认值文本。当用户关注字段::
时,如何删除此文本码
<input type="text" name="kp1_description" value="Enter Keypress Description">
答案 0 :(得分:16)
$(document).ready(function(){
var Input = $('input[name=kp1_description]');
var default_value = Input.val();
Input.focus(function() {
if(Input.val() == default_value) Input.val("");
}).blur(function(){
if(Input.val().length == 0) Input.val(default_value);
});
})
应该这样做。
更新,忘记焦点没有焦点输出事件的第二个参数,因为没有,它必须与模糊链接:
您还应考虑为此创建自己的功能,例如:
$.fn.ToggleInputValue = function(){
return $(this).each(function(){
var Input = $(this);
var default_value = Input.val();
Input.focus(function() {
if(Input.val() == default_value) Input.val("");
}).blur(function(){
if(Input.val().length == 0) Input.val(default_value);
});
});
}
然后像这样使用
$(document).ready(function(){
$('input').ToggleInputValue();
})
答案 1 :(得分:8)
不要这样做。使用jQuery水印脚本: http://code.google.com/p/jquery-watermark/
$("input[name='kp1_description']").watermark("Enter Keypress Description")
;
如果您手动执行此操作,则必须考虑很多事项。例如,当文本框失去焦点时会发生什么?如果没有价值,您需要阅读帮助文本。如果有,你想要兑现这些变化。
更容易让其他人做繁重的工作:)
答案 2 :(得分:6)
使用HTML5,您可以在没有Javascript的情况下执行此操作:只需使用placeholder
而不是value
。
我认为这是一个很好的补充,但当然你需要先检查浏览器的兼容性。
答案 3 :(得分:4)
<input type="text" id="anything" placeholder="enter keypress description">
我认为这会有所帮助
答案 4 :(得分:3)
$('input, textarea').each(function () {
var Input = $(this);
var default_value = Input.val();
Input.focus(function() {
if(Input.val() == default_value) Input.val("");
}).blur(function(){
if(Input.val().length == 0) Input.val(default_value);
});
});
答案 5 :(得分:1)
var defaultForInput = "abc";
<input id="myTextInput" type="text" placeholder=defaultForInput />
提交表单时,检查输入(id =“myTextInput”)值是否为'empty-string',如果是,则将其替换为(defaultForInput)。
答案 6 :(得分:1)
Super Duper Short Version
$('#input_id').focus(function() {
$(this).val("");
});
答案 7 :(得分:0)
<强> HTML:强>
<form method="post">
<input type="text" id="customer" value="Username"/>
<input type="Submit" value="Login" class="rc" />
</form>
Javascript代码:
<script>
$('#customer').on({
focus:function(){
if(this.value == 'Username') this.value = '';
},
blur:function(){
if(this.value == '') this.value = 'Username';
}
})
</script>
就是这样,我希望它会有所帮助。
答案 8 :(得分:0)
普通JavaScript:
(function () {
let input = document.querySelector ("input[name='kp1_description']");
input.onfocus = function () {
this.placeholder = this.value;
this.value = '';
};
})();
这会将值保留在占位符中,而不是完全删除它。如果您不喜欢这样,请删除占位符行。