的焦点文本字段我想要清除文本框,当用户点击该如何清除文本字段
<input name="name" type="text" id="input1" size="30" maxlength="1000" value="Enter Postcode or Area" onfocus=="this.value=''" />
的焦点文本字段我想要清除文本框,当用户点击该如何清除文本字段
<input name="name" type="text" id="input1" size="30" maxlength="1000" value="Enter Postcode or Area" onfocus=="this.value=''" />
要做到这一点,你需要使用脚本语言,可能的JavaScript。这里的一个例子
<input type='text' value'Some text' onclick='javascript: this.value = ""' />
希望这会有所帮助。
编辑:
为了满足什么大卫解释这里是在情况下,第二个例子是,你在找什么
<script type='javascript'>
var clear = true;
function clear(obj)
{
if(clear)
{
obj.value = '';
clear = false;
}
}
</script>
<input type='text' value'Some text' onfocus='clear(this);' />
感谢这对我工作 – 2011-03-16 11:01:02
我会建议没有人曾经使用这种方法。这是一个可怕的方式去做这件事。请不要使用这种方法。 这个例子的问题是每次有人点击这个输入时,内容都会被清除。即使用户键入内容然后回来编辑该字段,文本也会被清除。 另一个问题是,如果用户标签到输入,内容没有被“点击”,因此不会自行清除。 有了这两个问题,这个例子是一个可怕的方式来解决这个问题,并创建各种可访问性问题。 – ORyan 2014-03-13 23:35:50
@ORyan,这个最初的代码是对最初问题的回答。在获得更多信息后,编辑答案并在该例中仅在第一次点击时清除测试。所以我几乎觉得它很可怕。是的,它只做了点击,所以我已经更新了它,所以今晚你可以睡得更好。 – 2014-03-14 09:49:30
您可以使用<input ... onfocus="this.value='';"/>
。
这样,该字段在获得焦点时将被清除。但是,如果您只想在用户单击它时清除它(例如,当该字段使用键盘获得焦点时不是),则使用onclick
而不是onfocus
。
但是,正如David Dorward在评论中指出的,用户可能不会期望这种行为。因此,请注意在真正特定的字段(如搜索字段)上设置此功能。
使用jQuery库:
<input id="clearme" value="Click me quick!" />
$('#clearme').focus(function() {
$(this).val('');
});
除非你正在做一些具体的事情,你只需要清除的onclick ,我会建议(正如其他人已经注意到)使用重点行动来代替。这样,如果有人使用标签导航它也将清除默认文本。
您还可以使用的onblur来检查它是否是空的,以将其还原:
<input type="text" value="Default text" name="yourName" onfocus="if(this.value == 'Default text') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Default text'; }">
这是我如何使用它的温度转换器/计算器 - 当用户类型(KEYUP),文本输入框使用分配的功能进行计算;当用户选择其他文本输入(只有两个输入)时,所选文本输入将被清除。
HTML:
<p class="celcius"><h2 style="color:#FFF">Input:</h2>
<input name="celsius" type="text" class="feedback-input" placeholder="Temperature (Celsius)" onkeyup="Conversion()" onfocus="this.value='';" id="celsius" />
</p>
<hr>
<h2 style="color:#FFF">Result:</h2>
<p class="fahrenheit">
<input name="fahrenheit" type="text" class="feedback-input" id="fahrenheit" onkeyup="Conversion2()" onfocus="this.value='';"placeholder="Temperature (Fahrenheit)" />
</p>
的JavaScript:
function Conversion() {
var tempCels = parseFloat(document.getElementById('celsius').value);
tempFarh =(tempCels)*(1.8)+(32);
document.getElementById('fahrenheit').value= tempFarh;
}
function Conversion2() {
var tempFarh = parseFloat(document.getElementById('fahrenheit').value);
tempCels =(tempFarh - 32)/(1.8);
document.getElementById('celsius').value= tempCels;
}
试试这个,它为我工作
添加到您输入的标签此
<code>
onfocus="this.value='';"</code>
例如,如果你的代码是
<code>
<input type="text" value="Name" /></code>
使用这样
<code><input onfocus="this.value='';" type="text" value="Name" /></code>
function Clear (x) {if (x.cleared) {} else {x.value = ""; x.cleared = true}}
onfocus = "Clear (this)"
请添加一些说明。 – 2015-04-20 07:45:54
我真的看不到这一点; - 或者代码透明明显,或者读者还没有充分了解如何使用它。它的目的是作为答案,而不是作为教程。 – 2015-04-20 07:57:58
几句话的解释会让这个例子更好。 – Thom 2015-04-20 12:12:42
或者你可以简单地使用占位符属性 例如<input name="name" type="text" id="input1" size="30" maxlength="1000" placeholder="Enter Postcode or Area"/>
[简单的CSS技巧](https://css-tricks.com/snippets/css/style-placeholder-text/)甚至可以在最近的浏览器中设置占位符的样式。在Chrome中:':: - webkit-input-placeholder {color:#000;}' – Alrekr 2016-09-28 08:51:04
添加以下脚本到你的js文件中:
var input1 = document.getElementById("input1")
input1.onfocus = function() {
if(input1.value == "Enter Postcode or Area") {
input1.value = "";
}
};
input1.onblur = function() {
if(input1.value == "") {
input1.value = "Enter Postcode or Area";
}
};
请不要这样做。如果我想修复一封错字信,我不想重新键入整个事情。 (大多数想要这样做的人滥用value属性来替换'
你可以使用jQuery吗? – 2011-03-16 10:48:21
这是为了清除最初出现在窗体上的默认值或示例文本? – 2011-03-16 10:49:57