2016-05-15 68 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) 
}