我想以这样一种方式服务器渲染一个 HTML 表单,直到它被我的 JavaScript 异步增强之前它是不可提交的。
看起来元素(MDN)disabled
没有属性。form
我可以disabled
向提交按钮添加一个属性(然后在准备好后使用 JavaScript 将其删除),但用户仍然可以通过聚焦任何输入并按下 来提交表单Enter
。
有什么方法可以防止在没有 JavaScript 的情况下提交(只是将表单完全隐藏在服务器呈现的 HTML 中,然后用 JS 取消隐藏)?
我想以这样一种方式服务器渲染一个 HTML 表单,直到它被我的 JavaScript 异步增强之前它是不可提交的。
看起来元素(MDN)disabled
没有属性。form
我可以disabled
向提交按钮添加一个属性(然后在准备好后使用 JavaScript 将其删除),但用户仍然可以通过聚焦任何输入并按下 来提交表单Enter
。
有什么方法可以防止在没有 JavaScript 的情况下提交(只是将表单完全隐藏在服务器呈现的 HTML 中,然后用 JS 取消隐藏)?
你可以简单地做
onsubmit="return false"
form
标签上:
<form onsubmit="return false">
<label>input
<input type="text" name="input" name="a" />
</label>
<input type="submit" value="submit" />
</form>
抱歉,回答我自己的问题 - 事实证明,只需禁用提交按钮,就很容易使表单无法提交(至少在 Chrome 69 中)。
当唯一的提交按钮被禁用时,即使聚焦文本字段并按下Enter
也不会提交表单。
对提交按钮使用type="button"
属性,然后将其更改为type="submit"