防止表单提交与js禁用作出反应

时间:2016-11-28 22:14:49

标签: javascript html forms reactjs

我在React中有一个表格,我想在以下两个条件下不提交:

  1. JS已停用
  2. 我的应用程序包尚未下载/解析
  3. 应用程序是服务器端呈现的,因此在应用程序包在客户端完成下载之前,表单是可见的。如果在捆绑完成之前提交表单,表单将发出请求并将表单参数附加到URL。

    我尝试过设置

    等空白设置
    <form onSubmit="return false">
    </form>
    

    最初将表单设置为禁用然后在componentDidMount()上启用它似乎是一个解决方案,但我想知道是否有一些HTML属性我可以添加到表单或提交按钮。

1 个答案:

答案 0 :(得分:0)

禁用您的提交按钮,并在JavaScript模块的末尾启用。

如果禁用JavaScript,则会禁用该按钮,并且只有在执行JavaScript模块后才会激活该按钮。

&#13;
&#13;
// In your JS module
document.getElementById('submit').disabled = false
&#13;
<form>
  <input id='submit' type='submit' disabled />
</form>
&#13;
&#13;
&#13;

请注意,这绝不应该用作安全措施。客户端上的代码本身就在用户的控制之下,并且可以由用户操纵而没有任何限制。