如果Javascript被关闭,是否有可能阻止表单被提交?我知道你可以做隐藏表演的事。但是,如果Javascript被关闭,是否有可能确保表单无法提交?因为所有的人都要做的是点击f12,看看他们想要什么。我知道人们会告诉我服务器端验证,但我很好奇是否有人会使用Javascript或Jquery做任何特殊的事情,除了显示和隐藏。
发布于 2017-02-16 18:39:29
如果关闭JavaScript,是否可以确保表单无法提交?
是。
您需要做的是在默认情况下不使用提交机制构建表单,以便那些没有JavaScript的人不能提交表单,而那些启用了JavaScript的表单将被允许提交,因为您将使用JavaScript修改表单并将其提交。
例如,确保表单不包含输入或提交类型的按钮,也不包含没有类型属性的按钮( <button>的默认类型属性是submit)。您还需要有一个具有多个文本输入的表单,因为大多数浏览器都会提交一个基本表单,按下enter键。这对这.
然后,使用JavaScript,您可以通过多种方式修改文档,以启用表单的提交。例如,添加(或更改)输入或按钮类型,使其具有提交类型。示例
但是请注意,这不会阻止任何人使用浏览器的控制台修改您的代码和提交表单,或者可能尝试从他们控制的服务器提交跨站点脚本。
发布于 2017-02-16 18:39:10
您可以删除事件提交按钮!
编写css类“noscript”以形成容器,并编写样式以删除按钮提交中的事件--如果js打开--如果js关闭,窗体将正常工作--您的按钮没有您想要的事件。
不幸的是,如果您按下“输入”键,输入表单将被提交。
//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>
https://stackoverflow.com/questions/42281379
复制相似问题