2015-10-05 22 views
0

是否有可能通過onClick事件動態獲取調用函數的元素的名稱?從動態獲取HTML元素的ElementId與JS

我需要編寫一個代碼以在表單中大量重用以驗證內容。

+0

的可能的複製[如何獲得的onclick調用對象?(http://stackoverflow.com/questions/15536​​61/how-to-get-the-onclick-calling-object) –

回答

0

是的,您可以通過將事件傳遞給相應的onClick函數來執行此操作,如下所述。

<a href="#" id="testLink" onclick="HandleLink(event)">Link</a> 

function HandleLink(event) 
{ 
    var x = event.target; 
    alert(x.id); 
} 
0

說這正是你正在尋找的東西有點難,但是這樣的事情?

onClickHandler(event) { 
    var domNode = event.targetElement; 
    var name = domNode.getAttribute("name"); 
    // do what you will with that 
} 

獲取元素這樣可以確保它是你點擊的東西 - 用this可以根據不同的,如果你的約束範圍,沿途的方法某處

+0

如果設置'onClickHandler'和'addEventListener'然後'this'將指向'targetElement'。 – VisioN

0

讓我用一個例子,如果回答這是你在找什麼:

HTML:

<input name='Foo" type='button' value='Click Me' onclick='bar(this)'> 

JS:

function bar(elem) { 
    alert('Clicked by' + elem.name); 
} 

您可以使用parentNode在窗體中導航。