2016-05-15 25 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 

どのように私は、ユーザの入力を取得することができますか?

あなたはおそらく次の操作を行いますJavaScriptの平野で
+0

jsフレームワークを使用していますか? –

+0

(S)彼はReactを使っています。 – misdreavus79

答えて

0

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) 
}