javascript - 如何触发从按钮事件处理程序到固定URL的reactjs表单提交
问题描述
我需要触发从按钮事件处理程序到固定 URL的 reactjs 表单提交。
到目前为止,我已经看到了使用类型按钮提交表单的SO示例(例如这里)submit
button
并带有类型和事件处理程序的按钮onClick
,这似乎需要一个带有事件处理程序的表单onSubmit
(参见下面的示例)
With submit button inside form
在职的!
render(){
return(
<div>
<form id="form1" method="post" action="http://localhost:3000/">
<label>
Name:
<input type="text" name="name" enctype='text/plain' value={this.state.data} />
<button type="submit">Submit inside form</button>
</label>
</form>
With submit button and eventhandler
还有工作!
<form id="form3" method="post" onSubmit={this.handleSubmit}>
<label>
Name:
<input type="text" name="name" enctype='text/plain' value={this.state.data} />
<button type="submit">submit</button>
</label>
</form>
<button
onClick={ () =>
document.getElementById('form3').dispatchEvent(new Event('submit'))}
>
This works
</button>
我只需要使用action
from a触发一个简单的提交button with an eventhandler
,就像下面的不工作示例一样。
<form id="form4" method="post" action="http://localhost:3000/"
onSubmit={this.doNothingLetActionDoTheJob}>
<label>
Name:
<input type="text" name="name" enctype='text/plain' value={this.state.data} />
<button type="submit">submit</button>
</label>
</form>
<button
onClick={ () =>
document.getElementById('form4').dispatchEvent(new Event('submit'))}
>
This does not work
</button>
这可能吗?如果是,我做错了什么?
解决方案
推荐阅读
- amazon-web-services - 无法使用 API Gateway 和 Lambda 进行 Canary 部署
- c++ - 节点 gyp 构建失败。在包含目录的子目录中找不到库头文件
- java - 在 JHIPSTER 中使用带有 Dialogflow 的意图检测时出错
- android - Flutter got No issues found 但创建项目后仍然无法获取包
- java - 如何在 Spring Boot 中修复我的双向一对多关系
- html - 在 Laravel localhost 上加载图像不起作用
- c# - EF Core 在多对多表中插入
- reactjs - create-react-app jest 遇到了意外的令牌 {
- html - 我想协调链接但不能,我不明白我把代码放在哪里
- python - Pandas DataFrame:A列窗口中B列值的平均值