首页 > 解决方案 > 如何触发从按钮事件处理程序到固定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>

我只需要使用actionfrom 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>

这可能吗?如果是,我做错了什么?

标签: javascriptreactjs

解决方案


推荐阅读