Javascript停止提交表单

时间:2017-02-16 17:56:24

标签: javascript jquery

如果关闭Javascript,是否可以停止提交表单?我知道你可以做隐藏节目的东西。但是,如果关闭Javascript,是否可以确保表单无法提交?因为所有人都要做的就是点击f12并看到他们想要的任何东西。我知道人们会告诉我服务器端验证,但我很好奇,除了节目和隐藏之外,是否有人使用Javascript或Jquery做任何特殊事情。

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:1)

  

是否可以确保表单无法提交if   JavaScript已关闭?

您需要做的是默认情况下构建表单而不使用提交机制,以便没有JavaScript的人无法提交表单,而启用了JavaScript的表单将被允许,因为您将使用JavaScript修改表单并使其成为可能submittable。

例如,确保您的表单不包含提交类型的输入或按​​钮,并且没有没有类型属性的按钮(<button>的默认类型属性是提交)。您还需要一个包含多个文本输入的表单,因为大多数浏览器都会在按下回车键的情况下提交基本表单。 This vs this

然后使用JavaScript,您可以通过多种方式修改文档以启用表单的提交。例如,添加(或更改类型)输入或按钮,使其类型为submit。 Example

但请注意,这不会阻止任何人使用浏览器的控制台修改代码并提交表单,或者可能尝试从他们控制的服务器提交跨站点脚本。