首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未显示HTML5文本区占位符

未显示HTML5文本区占位符
EN

Stack Overflow用户
提问于 2012-04-17 15:23:33
回答 6查看 142.3K关注 0票数 215

我找不出我的标记出了什么问题,但文本区域的占位符将不会出现。似乎它可能被一些空格和制表符所掩盖。当您将焦点放在文本区域并删除光标所在的位置,然后离开文本区域时,相应的占位符就会出现。

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
    </head>

    <body>

    <form action="message.php" method="post" id="message_form">
        <fieldset>

            <input type="email" name="email" id="email" title="Email address"
                maxlength="40"
                placeholder="Email Address" 
                autocomplete="off" required />
            <br />
            <input type="text" 
                name="subject" 
                id="subject" title="Subject"
                maxlength="60" placeholder="Subject" autocomplete="off" required />
            <br />
            <textarea name="message" 
                id="message" 
                title="Message" 
                cols="30" 
                rows="5" 
                maxlength="100" 
                placeholder="Message" required>
            </textarea>
            <br />
            <input type="submit" value="Send" id="submit"/>

        </fieldset>
    </form>
</body>

<script>

$(document).ready(function() {        
    $('#message_form').html5form({
        allBrowsers : true,
        responseDiv : '#response',
        messages: 'en',
        messages: 'es',
        method : 'GET',
        colorOn :'#d2d2d2',
        colorOff :'#000'
    }
);
});

</script>

</html>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-12-27 08:34:59

对于我和其他许多人来说,这一直是一个难题。简而言之,<textarea>元素的开始标记和结束标记必须在同一行上,否则换行符将占据它。因此不会显示占位符,因为输入区域包含内容(换行符从技术上讲是有效内容)。

好:

代码语言:javascript
复制
<textarea></textarea>

不好:

代码语言:javascript
复制
<textarea>
</textarea>

更新(2020)

根据HTML5解析规范,这不再是not true了:

代码语言:javascript
复制
If the next token is a U+000A LINE FEED (LF) character token, 
then ignore that token and move on to the next one. (Newlines 
at the start of textarea elements are ignored as an authoring 
convenience.)

但是,如果您的编辑器坚持以CRLF结束行,您可能仍然会遇到麻烦。

票数 776
EN

Stack Overflow用户

发布于 2012-07-06 05:44:25

这是因为在某个地方有一个空间。我使用的是jsfiddle,标签后面有一个空格。我删除空间后,它就开始工作了

票数 10
EN

Stack Overflow用户

发布于 2015-06-13 03:03:38

好吧,从技术上讲,只要在开始标记的结束">“和结束标记的开始"<”之间没有字符,它就不必在同一行上。也就是说,您需要以...></textarea>结尾,如下例所示:

代码语言:javascript
复制
<p><label>Comments:<br>
       <textarea id = "comments" rows = "4" cols = "36" 
            placeholder = "Enter comments here"
            class = "valid"></textarea>
    </label>
</p>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10186913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档