2016-05-20 47 views
0

这是一个非常简单的例子。我有一个表格,我需要一个隐藏字段,所以我需要使用ref的价值:反应参考值不显示

<form> 
<input ref="num" type="hidden" name="amount" value="99"/> 
</form> 

var number = this.refs.num.value; 

console.log(number); // nothing 
console.log(this.refs.num); // shows the field 

如何获得与参考价值?

+0

'this.refs.num.value'是正确的。你能提供更多的上下文给你的代码吗?你在哪里试图抓住'this.refs'? –

+0

@BradColthurst从一个函数。 'foo:function(){...}' – Sylar

+0

你在哪里调用函数? –

回答

0

我觉得你得到的值,渲染之前,试试这个:

handleSubmit(e) { 
    if (e) { 
    e.preventDefault(); 
    } 
    var value = this.refs.num.value; 
    console.log(value); 
} 

render() { 
    console.log(this.refs.num ? this.refs.num.value : ''); 
    return (
    <form> 
     <input ref="num" type="hidden" name="amount" value="99" /> 
     <a onClick={this.handleSubmit.bind(this)}>submit</a> 
    </form> 
); 
} 

输出将是空字符串,在第一和99渲染后:

+0

嗨。当我打电话给我的功能时如何获得99? – Sylar

+0

https://codepen.io/Crema/pen/yOdqpO?editors=1011关于这个codePen我从函数中获取值没有问题 – Crema

+0

我已经写了一个handleSubmit函数 – Janom