如果关闭Javascript,是否可以停止提交表单?我知道你可以做隐藏节目的东西。但是,如果关闭Javascript,是否可以确保表单无法提交?因为所有人都要做的就是点击f12并看到他们想要的任何东西。我知道人们会告诉我服务器端验证,但我很好奇,除了节目和隐藏之外,是否有人使用Javascript或Jquery做任何特殊事情。
答案 0 :(得分:1)
您可以删除提交按钮上的活动!
写css课程' noscript'形成容器和写样式以从按钮提交中删除事件 如果js on - 您的表单将正常工作 如果js off - 你的按钮没有你想要的事件
不幸的是,如果按“输入”键。在输入表格上将提交
//default when js turned on remove class 'noscript'
//document.querySelectorAll('.noscript')[0].className = '';
//also need to remove onsubmit attribute
//for test case not remove class 'noscript'
//js turned off

.noscript button{
pointer-events:none;
}

<div class="noscript">
<form onsubmit="return false;">
<input value='smth'>
<button>
Submit
</button>
</form>
</div>
&#13;
答案 1 :(得分:1)
是否可以确保表单无法提交if JavaScript已关闭?
是
您需要做的是默认情况下构建表单而不使用提交机制,以便没有JavaScript的人无法提交表单,而启用了JavaScript的表单将被允许,因为您将使用JavaScript修改表单并使其成为可能submittable。
例如,确保您的表单不包含提交类型的输入或按钮,并且没有没有类型属性的按钮(<button>
的默认类型属性是提交)。您还需要一个包含多个文本输入的表单,因为大多数浏览器都会在按下回车键的情况下提交基本表单。 This vs this。
然后使用JavaScript,您可以通过多种方式修改文档以启用表单的提交。例如,添加(或更改类型)输入或按钮,使其类型为submit。 Example
但请注意,这不会阻止任何人使用浏览器的控制台修改代码并提交表单,或者可能尝试从他们控制的服务器提交跨站点脚本。