2016-05-20 73 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