使用反应时,在 preventDefault() 之后提交

Abh*_*ash 3 javascript reactjs

我在这里做的是点击链接验证是否填写了所有字段,如果像往常一样填写提交表单,否则会显示一些错误。但是e.preventdefault在反应中使用后如何继续正常提交表单?

var formComponent = React.createClass({
verifyFields: function (e) {
e.preventDefault();
    if (this.state.primaryGuestName && this.state.primaryGuestMobile) {
       // how can i continue with form submission here(not using xhr)
    } else {
        showErrors();
    }
},

render: function () {
<form action={this.props.action} ref="booking_form" acceptCharset="UTF-8" method="post">
    {form contents}
    <a href="" name="submit_details" onClick={this.verifyFields}
                           className="btn-flat btn-large rd-button">Confirm Details</a>
 </form>
}
}
Run Code Online (Sandbox Code Playgroud)

nit*_*918 5

要显式提交表单,您需要调用该submit()方法

你的 verifyFields 函数会变成这样。

verifyFields: function (e) {
e.preventDefault();
    if (this.state.primaryGuestName && this.state.primaryGuestMobile) {
       // how can i continue with form submission here(not using xhr)
        document.getElementById('myForm').submit();
    } else {
        showErrors();
    }
},
Run Code Online (Sandbox Code Playgroud)