2015-09-07 79 views
4

觸發輸入文件事件REACTJS我有一個輸入按鈕輸入文件,我想點擊BUTTON,它會觸發輸入文件事件REACT JS。如何通過另一個DOM

React.createElement('input',{type:'file', name:'myfile'}) 

然後按鈕

React.createElement('a',{onClick: this.doClick},'Select File') 

那麼如何定義和觸發輸入文件單擊事件,當我們點擊A HREF?

您的幫助表示感謝。 :-)

回答

3

你可以做到這一點使用jQuery:

this.doClick: function() { 
    $('input[type=file]').trigger('click'); 
} 

陣營不提供特定功能來觸發事件,您可以使用jQuery或只是本地JavaScript:見MDN

+0

React.createElement( '輸入',{類型: '文件',名稱: 'MYFILE'}) 然後按鈕 React.creatElement( '一個',{的onClick:this.doClick},'選擇文件') 那麼當我們點擊A HREF時如何定義和觸發INPUT FILE點擊事件? –

+2

是的,目前我總是這樣做,但我需要的是找到有什麼辦法可以通過反應觸發,而不是通過JQUERY –

14

Creating and triggering事件你不需要這個jQuery。你甚至不需要事件處理程序。 HTML有一個特定的元素,稱爲label

首先,確保你的input元素具有id屬性:

React.createElement('input',{type:'file', name:'myfile', id:'myfile'}) 

然後,而不是:

React.createElement('a',{onClick: this.doClick},'Select File') 

嘗試:

React.createElement('label',{htmlFor: 'myfile'},'Select File') 

(而不是增加htmlForid屬性,另外是爲了使input元素成爲label的子元素。)

現在單擊label應觸發與單擊input本身相同的行爲。

+0

謝謝你親愛的先生! – Erem