将值插入文本区域可以绕过所需的检查

Have values inserted into textarea bypass required checks

本文关键字:检查 插入文本 区域      更新时间:2023-09-26

目前,我有一个(HTML5)输入标签,如下所示:

<input name='email' class='textarea' type='textarea' onblur='if(this.value==""){ this.value = "Email address...";}' onfocus='this.value="";' value='Email address...' required></input>

这对我目前的需求来说是很好的,但对于默认值(或任何插入的值),"必需"复选框认为一切都很好,因为输入框已经填充。如果用户点击带有详细信息"电子邮件地址…"的登录按钮,这并不是很好。是的,它不会让他们登录,但我想首先阻止他们使用默认值登录。因此,我的问题是:

有没有任何方法可以将"必需"状态应用于onblr上的输入框(通过javascript、css、html或其他方式),或者使某些输入框值绕过"必需"复选框?

我正在考虑使用CSS将文本应用于输入框,比如

input.textarea{
    content: "Email address...";
}
input.textarea:focus{
    content: "";
}

但据我所知,内容并没有对输入框应用任何东西(或者,如果应用了,输入框会在文本上方呈现)。

我可以完全删除这些值,并将标签放在输入框之外,但这与我目前正在制作的网站的设计不符,可能是最后的选择(如果我认为这是一种选择的话)。

您可以使用placeholder属性。

<form><input name='email' class='textarea' type='textarea' placeholder="Email address..." required></input>
<input type='submit' />
</form>

注意:不要使用value属性,因为当给定值时,它被视为字段有值。

您可以为此目的使用占位符。

<textarea rows="4" cols="50" placeholder="Your description here...">