onkeyup + dynamisch die ID auslesen?

Suchfunktion

Erfahrenes Mitglied
Hi!

Ich bin ziemlich neu in JavaScript und versuche mich langsam mal heranzutasten.

Ich habe ein Formular und moechte bei onKeyUp-Event im Textfeld mein JavaScript ausfuehren.
Dies wiederum kopiert den Inhalt aus dem entsprechenden Feld in einen <span>-Bereich.

Hier das JS:
Javascript:
	function loadForm(field){
		document.getElementById(field).innerHTML = document.getElementById(field + 'In').value;
	}



Und hier mein HTML:
HTML:
<form>
<table cellpadding="0" cellspacing="0" border="0" style="border:1px solid #cccccc;">
	<tr>
		<td>
			1:<br />
			<input type="text" width="100" style="border:0;" id="1In" onkeyup="javascript:loadForm(1In);"/>
		</td>
		<td>
			2:<br />
			<input type="text" width="100" style="border:0;" id="2In" onkeyup="javascript:loadForm(2In);" />
		</td>
		<td>
			3:<br />
			<input type="text" width="100" style="border:0;" id="3In" onkeyup="javascript:loadForm(3In);" />
		</td>
	</tr>
</table>
</form>


1: <span id="1"></span><br />
2: <span id="2"></span><br />
3: <span id="3"></span>

Nun zu meiner Frage:
Wie kann ich dynamisch die jeweilige Formularfeld-ID an das JavaScript uebergeben?
Ich braeuchte anstelle von
HTML:
onkeyup="javascript:loadForm(1In);"
sowas wie
HTML:
onkeyup="javascript:loadForm(this);"
oder so..

Also das JS soll "von alleine" die ID des aktuellen Formularfelds uebergeben bekommen, ohne dass ich sie im Funktionsaufruf statisch eingeben muss..


Kann mir bitte jemand helfen? :-(

mfg
Suchfunktion
 
Hi,

übergib doch wie schon angedeutet this beim Funktionsaufruf.
Code:
onkeyup="loadForm(this);"
In der Funktion hast Du zwei Möglichkeiten auf das Attribut id zuzugreifen:
Code:
function loadForm(objField){
  alert(objField.id + "\n" + objField.getAttribute("id"));
}
Weiterhin solltest Du bei den SPANs beachten, dass eine ID mit einem Buchstaben beginnen muss (SelfHTML).

Ciao
Quaese
 
Okay, okay..

Da war ich zu schnell im Hilfeschreien ^^
Habe auch eine Loesung..
HTML:
onkeyup="javascript:loadForm(this.attributes['id'].nodeValue);"


Deine ist natuerlich schoener, kuerzer, usw. Danke :-)
 
Ein „this.id“ reicht vollkommen aus. Das Pseudo-Schema „javascript:“ ist übrigens überflüssig und funktioniert auch eigentlich nur bei Attributen, die ein URL erwarten.
 

Neue Beiträge

Zurück