我在两个运行两个不同版本WordPress的网站上使用HTML5。他们都表现出相同的行为,我想得到一些帮助来解决这个问题。
<label for="url">Website</label> <input type="url" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" placeholder="Enter Website Address (optional)" pattern="https?://.+">
在测试中,我们发现comment\\u author\\u url存在一个问题,当人们不输入url时会出现该问题。出于某种原因,WordPress正在提取占位符文本并将其保存到数据库中,如下所示:
http://EnterWebsiteAddress(optional)
我很难确定为什么会发生这种情况。占位符属性不在输入值内,因此不应拾取。同样的代码也在其他应用程序中使用,没有问题。
有人知道如何在WordPress中更正这个问题吗?
UPDATE:我对此做了大量研究,并想与大家分享我的发现。这些问题来自WordPress本身的comment\\u form函数。
要避免这些问题,有两种选择:
仅在必填字段上使用占位符。当字段获得焦点并输入内容时,占位符将被清除在提交表单之前,使用JavaScript清除占位符我希望这能帮助其他遇到同样问题的人。我没有向WordPress提交补丁,因为目前WordPress只打算支持XHTML。