我正在制作一个简单的表格,我有这个代码来清除初始值:
Javascript:
function clearField(input) {
input.value = "";
};
html:
<input name="name" id="name" type="text" value="Name" onfocus="clearField(this);"/>
但我不想要的是,如果用户填写输入但再次单击它,它会被删除。我希望该字段仅在输入为空时才具有起始值“名称”。先感谢您!
我正在制作一个简单的表格,我有这个代码来清除初始值:
Javascript:
function clearField(input) {
input.value = "";
};
html:
<input name="name" id="name" type="text" value="Name" onfocus="clearField(this);"/>
但我不想要的是,如果用户填写输入但再次单击它,它会被删除。我希望该字段仅在输入为空时才具有起始值“名称”。先感谢您!
喜欢
<input name="name" id="name" type="text" value="Name"
onblur="fillField(this,'Name');" onfocus="clearField(this,'Name');"/>
和js
function fillField(input,val) {
if(input.value == "")
input.value=val;
};
function clearField(input,val) {
if(input.value == val)
input.value="";
};
这是一个相同的演示小提琴
对于不支持占位符属性的浏览器,这是一种使用 jQuery 的解决方案。
$('[placeholder]').focus(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
在这里找到: http ://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
这可能是你想要的:
Enter your name here此代码在文本框中放置一个默认文本字符串<input>,并将文本着色为浅灰色。
单击该框后,将清除默认文本并将文本颜色设置为黑色。
如果文本被删除,默认文本字符串将被替换并重置浅灰色。
HTML:
<input id="fname" type="text" />
jQuery/javascript:
$(document).ready(function() {
var curval;
var fn = $('#fname');
fn.val('Enter your name here').css({"color":"lightgrey"});
fn.focus(function() {
//Upon ENTERING the field
curval = $(this).val();
if (curval == 'Enter your name here' || curval == '') {
$(this).val('');
$(this).css({"color":"black"});
}
}); //END focus()
fn.blur(function() {
//Upon LEAVING the field
curval = $(this).val();
if (curval != 'Enter your name here' && curval != '') {
$(this).css({"color":"black"});
}else{
fn.val('Enter your name here').css({"color":"lightgrey"});
}
}); //END blur()
}); //END document.ready
HTML:
<input name="name" id="name" type="text" value="Name" onfocus="clearField(this);" onblur="fillField(this);"/>
JS:
function clearField(input) {
if(input.value=="Name") { //Only clear if value is "Name"
input.value = "";
}
}
function fillField(input) {
if(input.value=="") {
input.value = "Name";
}
}
var input= $(this);
input.innerHTML = '';
OP 的问题不再相关——这个问题是在 2013 年提出的,当时占位符属性没有得到很好的支持。
现在你可以使用<input placeholder="Your text here">
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefplaceholder