【问题标题】:Textarea placeholder textTextarea 占位符文本
【发布时间】:2014-09-15 19:05:43
【问题描述】:

努力理解为什么我的文本区域中的占位符没有显示输入。

<textarea value="Begin your message..." onfocus="ClearPlaceHolder (this)" onblur="SetPlaceHolder (this)" class="contactForm" ></textarea>    

<script type="text/javascript">
    function ClearPlaceHolder (input) {
        if (input.value == input.defaultValue) {
            input.value = "";
        }
    }
    function SetPlaceHolder (input) {
        if (input.value == "") {
            input.value = input.defaultValue;
        }
    }
</script> 

我将替换它在此脚本中输入的位置绑定,但它并没有改变任何东西?

【问题讨论】:

    标签: javascript html forms placeholder


    【解决方案1】:

    为什么不直接使用 HTML 占位符呢?

    <textarea placeholder="Please type something here..."></textarea>
    

    我认为我会更优雅,它不需要任何 JS。

    【讨论】:

      【解决方案2】:

      这是因为textarea没有value属性。
      textareas 值位于开始标签和结束标签之间:

      <textarea onfocus="ClearPlaceHolder(this)" 
                onblur="SetPlaceHolder(this)" 
                class="contactForm">Begin your message...</textarea>
      

      Fiddle

      【讨论】:

        【解决方案3】:

        你可以使用属性placeholder:

        <textarea placeholder="placeholder string"></textarea>
        

        【讨论】:

        • 我不能使用 html5,因为网站的主要受众是 IE 用户。 (可悲的是老 IE 用户)
        【解决方案4】:

        还要记住 textarea 没有价值 attribute 你可以在http://www.w3schools.com/tags/tag_textarea.asp中读到 值是一个属性,因此您使用的语句对于将文本放入文本区域是正确的

        input.value = "text";
        

        但请记住,创建和更改值属性不会更改值属性

        【讨论】:

          猜你喜欢
          • 2014-09-22
          • 2012-07-12
          • 2017-06-03
          • 2018-10-30
          • 2022-10-16
          • 2012-02-20
          • 1970-01-01
          • 2016-10-29
          • 1970-01-01
          相关资源
          最近更新 更多