Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确保HTML表单可以';不能提交吗?_Javascript_Html_Server Rendering - Fatal编程技术网

Javascript 确保HTML表单可以';不能提交吗?

Javascript 确保HTML表单可以';不能提交吗?,javascript,html,server-rendering,Javascript,Html,Server Rendering,我想在服务器上呈现一个HTML表单,使它在被JavaScript异步增强之前不可提交 看起来表单元素没有禁用的属性 我可以在submit按钮中添加一个disabled属性(然后在准备好后用JavaScript删除),但是用户仍然可以通过聚焦任何输入并按下Enter来提交表单 是否有任何方法可以防止在没有JavaScript的情况下提交表单(除了将表单完全隐藏在服务器呈现的HTML中,并使用JS将其取消隐藏)将type=“button”属性用于提交按钮,然后将其更改为type=“submit”使用

我想在服务器上呈现一个HTML表单,使它在被JavaScript异步增强之前不可提交

看起来
表单
元素没有
禁用的
属性

我可以在submit按钮中添加一个
disabled
属性(然后在准备好后用JavaScript删除),但是用户仍然可以通过聚焦任何输入并按下
Enter
来提交表单

是否有任何方法可以防止在没有JavaScript的情况下提交表单(除了将表单完全隐藏在服务器呈现的HTML中,并使用JS将其取消隐藏)

type=“button”
属性用于提交按钮,然后将其更改为
type=“submit”
使用
type=“button”
属性添加到提交按钮,然后将其更改为
type=“submit”

,您只需执行以下操作即可

onsubmit="return false" 
表单
标签上:


输入
您只需

onsubmit="return false" 
表单
标签上:


输入

抱歉,回答我自己的问题-事实证明,只需禁用“提交”按钮,就很容易使表单无法提交(至少在Chrome 69中是如此)


当“唯一提交”按钮被禁用时,即使聚焦文本字段并按Enter键也不会提交表单。

对不起,回答我自己的问题-事实证明,只要禁用“提交”按钮,就很容易使表单无法提交(至少在Chrome 69中)



当“唯一提交”按钮被禁用时,即使聚焦文本字段并按Enter键也不会提交表单。

没有JS?不可以。您最好将表单操作保留为空,并仅在准备就绪时应用它。@Utkanos空的
操作
将导致表单提交到同一URL…防止
表单
元素上的默认提交事件,并在其中设置
AJAX
逻辑。您可以在隐藏的字段上使用必需属性关闭页面,然后在js出现时删除该字段run@deceze; 正确-
javascript:void(0)
就可以了。没有JS?不可以。您最好将表单操作保留为空,并仅在准备就绪时应用它。@Utkanos空的
操作
将导致表单提交到同一URL…防止
表单
元素上的默认提交事件,并在其中设置
AJAX
逻辑。您可以在隐藏的字段上使用必需属性关闭页面,然后在js出现时删除该字段run@deceze; 正确-
javascript:void(0)
#
可以。这不会阻止在字段中按return键,即使在文本字段中按ENTER键,也会阻止表单提交,直到您通过scriptNo提交表单,在文本框中键入一些内容,然后按enter键-表单提交:这不会阻止在字段中按return键,即使在文本字段中按enter键,这也会阻止表单提交,直到您通过scriptNo提交表单,在文本框中键入内容并按enter键-表单提交:这不会阻止禁用JavaScript的用户提交表单。这不会阻止禁用JavaScript的用户提交表单。