我正在为我们 future 的产品之一编写登陆页面,但遇到了一些麻烦
<form novalidate method="POST" class="subscribe-form"> <noscript> </form> <form method="POST" action="/" class="subscribe-form"> </noscript> <input type="email" placeholder="{subscribe-status}" class="input-lg" name="email"> <input type="text" value="general" class="hidden" name="interest" class="interest-field"> <input type="submit" value="Let me know!" class="btn btn-blue btn-lg" data-location="header"> </form> <span class="hint">*Prepare to be amazed. We promise we won't spam you.</span>
这个想法是为支持浏览器的js定义表单并为客户端验证做好准备,但在无脚本浏览器的情况下准备好后备。但chrome渲染它是这样的
任何
最佳答案
HTML 无效;不同的浏览器可能会以不同的方式呈现它。 W3C 验证器是您的 friend :http://validator.w3.org/
如果 JS 被关闭,你的验证将不会运行,你实际上不需要做任何事情;只需编写一种形式并将其用于两种情况。如果您需要/想知道服务器端是否已运行客户端验证,请包含 <input type="hidden" name="clientvalidated" value="false">
在您的表单中并使用 JS 将 value 属性更改为 true。
请注意,您必须在服务器上进行验证,因为客户端不受信任。
关于javascript - 无 JavaScript 浏览器的 Noscript 表单后备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24861375/