【发布时间】:2016-01-18 20:14:35
【问题描述】:
为简洁起见,请参阅下面使用 ReactJS 的示例。
<form onSubmit={(e) => alert('form submitted');}>
<input id="text1"/>
<input id="text2"/>
<button type="submit">Submit</button>
<button type="button" onClick={(e) => alert('button clicked, please don't submit!!!')}>Don't Submit</button>
</form>
在上面的示例中,我想要的是,当单击 提交 按钮时,会显示警报“提交的表单”,而当 不提交 按钮被点击用户应该看到“按钮被点击,请不要提交!!!”没有开始的警报,然后是“提交”警报。此外,这些按钮都不应该导致实际的真实表单提交回传到服务器。到目前为止,我已经尝试了各种方法来防止发生提交,例如 e.preventDefault(),但似乎没有任何效果。
【问题讨论】:
-
如果您不希望任何一个按钮导致实际的表单提交,您可以更改第一个按钮的按钮类型吗?我不确定您打算如何执行实际的表单提交,但我认为当您单击第一个按钮时它会立即提交。
-
默认情况下,
<button type="button">不会提交您的表单。