为文本输入设置空值

Sté*_*ane 3 javascript

我有以下JS:

\n\n
document.getElementById(\'sketchpad-post\').setAttribute(\'value\',\'\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

HTML 输入如下:

\n\n
<input type="text" id="sketchpad-post" autocomplete="off" value="" placeholder="Message"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果 setAttribute 函数的第二个参数是空字符串(如上面的示例所示),则它不起作用:它不会清空文本字段(文本字段具有先前设置的值) )。

\n\n

现在,如果第二个参数是非空字符串,那么它就可以工作:它将我的文本字段设置为提供的值。

\n\n

我发现这种行为特别奇怪\xe2\x80\xa6

\n\n

我尝试强制执行 autocomplete="off" (甚至 autocomplete="flu") 执行 setAttribute 并执行removeAttribute(\'value\') 但当用户显示它时我仍然无法设法将此字段留空。

\n\n

作为解决方法,我可以将该值设置为一种占位符,例如 \'\xe2\x80\xa6\' 或任何其他字符(可能是不可破坏的空格?),但 \xe2\x80\x99s 不太好。

\n\n

我在最新的 Chrome (Chromium) 和 Firefox 中都有这种行为。

\n\n

任何想法 ?

\n

小智 5

document.getElementById('sketchpad-post').value = "";
Run Code Online (Sandbox Code Playgroud)