gpt4 book ai didi

javascript - React.js : submit form programmatically does not trigger onSubmit event

转载 作者:行者123 更新时间:2023-12-03 13:01:17 24 4
gpt4 key购买 nike

我想在点击链接后提交 React 表单。

为此,如果单击链接,我需要以编程方式提交表单。

我的问题是:表单提交后,onSubmit 处理程序没有被触发。

以下是我为此目的而制作的代码片段:

var MyForm = React.createClass({
handleSubmit: function(e){
console.log('Form submited');
e.preventDefault();
},
submitForm : function(e){
this.refs.formToSubmit.submit();
},
render: function() {
return (
<form ref="formToSubmit" onSubmit={this.handleSubmit}>
<input name='myInput'/>
<a onClick={this.submitForm}>Validate</a>
</form>);
}
});

ReactDOM.render(
<MyForm name="World" />,
document.getElementById('container')
);

不会调用 handleSubmit 并执行默认行为(提交表单)。这是 ReactJs 的错误还是正常行为?有没有办法调用 onSubmit 处理程序?

最佳答案

我在这方面取得了成功。这会在单击时触发handleSubmit。希望这会有所帮助。

<form
onSubmit={this.handleSubmit}
ref={ (ref) => { this.form = ref; } }
>
<a onClick={ () => { this.form.dispatchEvent(new Event('submit')) } }>
Validate
</a>
</form>

从这里找到:https://github.com/facebook/react/issues/6796

关于javascript - React.js : submit form programmatically does not trigger onSubmit event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37901223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com