为什么textArea不更新?

时间:2015-10-05 04:18:17

标签: javascript html google-chrome

我已通过提醒检查,我的值为“输入您的评论...”,但我的if语句返回false。

谢谢。

+----------+-----------+--------------------+
| FOODNAME | FOODPRICE | avg(fr.foodrating) |
+----------+-----------+--------------------+
| CAKE     |         5 |                  4 |
| SHAKE    |         2 |                  4 |
+----------+-----------+--------------------+
function ClearText(e) {

  //alert(document.getElementById('contactMe').value);
  if (document.getElementById('contactMe').value == 'Enter your comment...') {
    document.getElementById('contactMe').value = "";
  }

}


var x = document.getElementById('contactMe');
x.addEventListener('click', ClearText, false);

3 个答案:

答案 0 :(得分:1)

我看到您要完成的工作,并且可以使用html属性来避免placeholder所有内容。

请考虑以下代码。



<html>

<body>
  <textarea id=contactMe rows=4 cols=40 placeholder='Enter your comment...'></textarea>
  <script src="contactBox.js">
  </script>
</body>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你也可以这样做:

function clearText(field){
	if(field.defaultValue == field.value){
		field.value = "";
	}
	else if(field.value == ""){
		field.value = field.defaultValue;
	}
}
<html>

<body>
  <textarea id=contactMe rows=4 cols=40 onfocus="clearText(this);" onblur="clearText(this);">Enter your comment...</textarea>
</body>

</html>

答案 2 :(得分:-1)

您可以使用placeholder属性执行此操作

<html>

<body>
  <textarea id="contactMe" rows="4" cols="40" placeholder="Enter your comment..."></textarea>
  <script src="contactBox.js">
  </script>
</body>

</html>

请注意,IE8不支持此功能,您必须使用javascript

我最喜欢的插件是Mathias。如果您需要支持IE8,请选择它。您还没有在html中使用双引号来表示属性( id =“contactMe”)。 (虽然它可以在没有它的情况下工作,但使用引号是recommended by w3

如果您需要完整的jQuery解决方案,可以使用以下代码。这是fiddle

var placeholderText = "Enter your comment...";

$(document).on("click","#contactMe",function(e){
 if($(this).val()=="" ||$(this).val() == placeholderText ){
  $(this).val("");
}
});

$(document).on("focusout","#contactMe",function(e){

    if($(this).val()==""){
      $(this).val(placeholderText);
    }

});

$(document).ready(function(){
 $("#contactMe").val(placeholderText);
});