我有一个依赖于javascript来执行所有客户端表单验证的表单。如果所有字段都正确填写,则表单通过javascript提交,而不是使用标准的“提交”按钮:
<button name="button" type=button onclick="validateReqFields('mForm', 'username, password, compPassword, firstName, lastName');">Register</button>
document[formName].submit();
如果客户端禁用了javascript,则所有表单验证都在服务器端完成(无论如何,它实际上都会执行,但这并不重要)。问题在于使用具有按钮类型的按钮而不是提交。它适用于javascript,但如果javascript不可用,我该如何解决这个问题呢?如果我使用提交按钮和javascript,那么它会在按下每个按钮时提交表单,并且无法正常工作。
答案 0 :(得分:4)
将type
属性更改为submit
。
<button name="button" type="submit" ... />
答案 1 :(得分:3)
使用提交按钮而不是“按钮”按钮,如果表单无效,则让validateReqFields
函数返回false。
如果您愿意,请从validateReqFields中取出提交表单。
这样
答案 2 :(得分:-1)
在禁用javascript时,使用<noscript></noscript>
标记定义“普通”提交按钮。
答案 3 :(得分:-1)
您可以使用<noscript>
标记并将上述代码封装为按钮类型作为提交。如果客户端有js,则noscript中的代码将被忽略。