2016-05-15 4 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) Он использует Реакт. – 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-элемент вашего компонента в React является:

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) 
} 
Смежные вопросы