我想以这样一种方式服务器渲染一个 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"