下午所有,
需要来自主人的一些技术建议...我知道从表单中删除单击时的默认消息的功能,但是出现的问题是用户最初点击了消息区域后(要删除)默认情况下,如果他们再次点击消息区域,它会删除他们写的内容!!我想一个例子是,如果他们注意到拼写错误或需要改变他们的部分信息。
必须有办法解决这个问题吗?
文本区域的代码是:
<textarea name="message" id="message" rows="9" cols="55" tabindex="9" onclick="this.value=''">
<?php if(isset($error)) {echo $message;} else {echo "Please use this area for any other information about your enquiry";}?>
</textarea>
答案 0 :(得分:1)
在初始onclick之后,您将需要使用以下内容从textarea中删除onclick属性:
document.getElementById('message').onclick = null;
您可以更改onclick以调用执行this.value = ''
的函数,然后删除onclick。
编辑:
<textarea name="message" id="message" rows="9" cols="55" tabindex="9" onclick="removeDefaultText(this)">
<?php if(isset($error)) {echo $message;} else {echo "Please use this area for any other information about your enquiry";}?>
</textarea>
<script type="text/javascript">
function removeDefaultText(el){
el.value='';
el.onclick=null;
}
</script>
答案 1 :(得分:1)
你可能想要的是这个,对吧?
<textarea>
,则应返回“请使用”消息。<textarea>
是否仍为空(显示“请使用”消息),如果是,请将其禁用或清除值。我要做的是让“焦点”和“模糊”处理程序保持状态指示器以明确跟踪元素的状态,而不是依赖于对“请使用”消息进行文本比较。具体如何做到这一点取决于你编写事件处理程序的方式,但它可能看起来像这样:
function setupTextareaHandlers() {
var txta = document.getElementById("yourTextArea");
var empty = !txta.value;
txta.onfocus = function() {
if (empty) txta.value = '';
};
txta.onblur = function() {
if (!txta.value) {
empty = true;
txta.value = 'Please use ... ';
}
};
}
您也可能在那里设置提交处理程序。
答案 2 :(得分:1)
一个简单的工作脚本
<textarea name="message" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">
Put anything for default value here
</textarea>
几分钟前就已经提出了X)
答案 3 :(得分:0)
试试这个
<textarea name="message" id="message" rows="9" cols="55" tabindex="9" onclick="javascript:if(this.value='default.value') this.value =''">
<?php if(isset($error)) {echo $message;} else {echo "Please use this area for any other information about your enquiry";}?>
</textarea>
答案 4 :(得分:0)
以下是jsfiddle
HTML:
<textarea name="message" id="message" rows="9" cols="55" tabindex="9">default message</textarea>
<head>
标记内的JavaScript位置:
<script type="text/javascript">
var defaultMsg = document.getElementById("message").value;
function init() {
var mytextarea = document.getElementById('message');
mytextarea.onblur = function() {
if (this.value == '') this.value = defaultMsg;
}
mytextarea.onfocus = function() {
if (this.value == defaultMsg) this.value = '';
}
}
window.onload = init;
</script>