2016-05-15 70 views
0

我有以下形式:获取表单提交的结果

<form onSubmit={this.gotEmail}> 
    <div className="form-group"> 
    <FormControl type="text" className="form-control"/> 
    </div> 
    <Button className="btn btn-primary btn-large centerButton" type="submit">Send</Button> 
</form> 

交房时,我想获得现场写这里的用户:

<FormControl type="text" className="form-control"/> 

我试图得到它像这样:

gotEmail: function(email) { 
    console.log("Email: ", JSON.stringify(email)) 
} 

不过,我得到这个错误:

EmailForm.jsx:9 Uncaught TypeError: Converting circular structure to JSON 

当我尝试打印在控制台email我得到这个:

(program):132 Uncaught illegal access 

我怎样才能得到用户的输入?

+0

你使用任何js框架? –

+0

(S)他正在使用React。 – misdreavus79

回答

0

在普通的JavaScript,你可能会做以下几点:

HTML:

<form action="getInput()"> 
<input type="text" id="email" class="form-control/> 
</form> 

JS:

function getInput(){ 
var email = document.getElementById("email").value; 
alert(email); 
} 
+0

你从哪里导入'getViewById'? – octavian

+0

对不起...更新了我的答案 –

0

访问阵营的组件的HTML元素的正确方法是:

import { findDOMNode } from 'react-dom' 

[...] // all your other script stuff here 

render() { 
    return (
    <form onSubmit={this.gotEmail}> 
     <div className="form-group"> 
     <FormControl ref="email" type="text" className="form-control"/> 
     </div> 
     <Button className="btn btn-primary btn-large centerButton" type="submit">Send</Button> 
    </form> 
) 
} 

gotEmail() { 
    console.log(findDOMNode(this.refs.email).value) 
}