Wie auf ein verstecktes input mit javascript
Was ich bin versucht zu tun ist, ist der Zugang versteckt-Objekt in einem div. Was happends ist ein Benutzer klicken Sie auf die Schaltfläche, und führen Sie dann einige Aufgaben, wie einen Benutzer löschen. Dies kann einfacher sein, wenn ich zeige, was ich habe.
<div class="mgLine">
<input type="hidden" name="tenentID" value="1">
<p class="mgName">James Gear</p>
<input type="text" class="mgBill" value="" placeholder="Post Bill Link Here">
<a href="#" class="mgButton" onclick="alertTest(this)">Submit Bill</a>
<a href="#" class="mgNP">Not Paid</a>
<a href="#" class="mgButton">Change Password</a>
<a href="#" class="mgButton">Delete User</a>
</div>
Was ich will, das system zu tun, ist zu warnen, den Wert eines, das es aus dem versteckten Feld, wenn die "Rechnung Einreichen" gedrückt wird.
function alertTest(e){
//e.parentNode
window.alert(e.parentNode.getElementsByTagName("tenentID")[0]);
}
Ich bin versucht, JavaScript zu verwenden DOM, um Zugriff auf das element. Ich hoffe, das wenigstens einige Sinn. Es wird noch viele dieser Einträge auf der Seite.
- verwenden getElementsByName anstelle von getElementsByTagName
- Immer das erste Kind? Wenn dem so ist,
e.parentNode.children[0]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
getElementsByName
stattgetElementsByTagName
getElementsByTagName ist für die Auswahl von Elementen basierend auf seinen tag sagen, div, input etc..
getElementsByName
getElementsByTagName
Realisieren, dass Sie möglicherweise mehrere div-Abschnitt und Ihre versteckten Eingang ist das erste Kind könnten Sie diese:-
oder
wenn es nicht die firstCHild und Sie die position kennen, dann könnten Sie
Fiddle
Object #<HTMLDivElement> has no method 'getElementsByName'
(ich war mit code identisch mit Ihnen). Allerdingsdocument.getElementsByName("tenentID")[0]
gearbeitet.Die moderne Methode wäre, die Nutzung
querySelector
.http://jsfiddle.net/ExplosionPIlls/zU2Gh/
Aber könnten Sie es auch tun, mit etwas mehr manuelle DOM-parsing:
http://jsfiddle.net/ExplosionPIlls/zU2Gh/1/
Versuchen Sie dies:
Ich in der Regel ein id-Attribut auf das versteckte element, dann verwenden Sie
getElementById
.dann kann ich verwenden...
In der Regel Ihre beste Wette für den Zugriff auf ein bestimmtes element ist, geben Sie eine ID und verwenden Sie dann getElementById().
Namen dupliziert werden können, auf eine Seite, aber die ids müssen eindeutig sein.