我不知道我是否正确地问它,所以请原谅。所以这就是它。我有一个文本输入字段。我已经有一些占位符文本了。但是,当用户点击该字段时,我希望占位符文本消失,并在那里显示一些默认文本,用户无法删除。 因此,当用户提交表单时,收到的数据应采用这种格式 - “我保留的默认文本”+“用户提供的文本”。我该怎么做。
这是我输入字段的例子。
<input type="text" placeholder="defaultText" class="input">
答案 0 :(得分:3)
http://jsfiddle.net/429jspyn/2/
$(function(){
var dft = 'DEFAULT - ';
$('input.input').keyup(function(evt){
/* Key up event to catch all keys, keypressed doesn't catch i.E.
backspace*/
/* If input value is empty don't alter it, that keeps input clean */
if($(this).val() != ''){
/* attach value of input to variable to alter it in future */
var txt = $(this).val();
/* txt.replace removes already added default text to prevent infinite prepending */
$(this).val(dft + txt.replace(dft, ''));
}
}).keydown(function(evt){
/* Key down is to catch user before he deletes part of default text and remove whole for him. That keeps it clean in future. */
if($(this).val() == dft){
/* Set input empty when user's trying to delete default text */
$(this).val('');
/* blocks further parsing */
return false;
}
});
});
编辑://更新代码,应该是好的:) EDIT2://添加了评论
答案 1 :(得分:0)
为您的输入添加id属性
<input type="text" placeholder="defaultText" class="input" id="myInput">
并点击事件执行此操作
$("myInput").click( function() {
this.html("defaultText");
this.attr("disabled","disabled");
}