bestimmte zeichenfolge per klick in aktuelles textfeld

nero_85

Erfahrenes Mitglied
Hi Leute!

Ich erstelle momentan ein Formular mit dem so eine art Liste erstellt wird! Damit ich das ganze dynamisch halte kann ich im Formular Extrazeilen (mit den dazugehörigen Formularfeldern) hinzufügen. Durch klick auf einen Button! soweit war das kein Problem auch das Auswerten läuft so weit ganz gut!

Die Liste (eine Liste mit technischen Daten) soll auch Sonderzeichen enthalten. Zum Beispiel das Durchmesserzeichen. Auch das war kein Problem, ich lasse einfach die Zeichenfolge ;dm; beim Versenden der Daten von PHP austauschen.

Nun will ich aber, dass man im Formular einfach auf einen Button klicken muss und die oben erwähnte Zeichenfolge wird in das momentan ausgewählte Textfeld eingefügt. Dabei kann ich das Textfeld nicht über seinen Namen ansprechen, da ich ja nicht weiß wieviele Textfelder der Benutzer bereits hinzugefügt hat und in welches Textfeld er das Zeichen haben will.

Kann mir irgendjemand helfen. Bin leider noch komplett neu auf dem Gebiet JS.

Danke im Vorraus

cya
nero_85
 
Überwache den onfocus-Event aller Eingabefelder.
Tritt der Event ein, kannst du das auslösende Element in einer Variablen speichern und von anderer Seite draufzugreifen.
 
danke hat funktioniert:

Code:
<html>
<head>
<title>Unbenanntes Dokument</title>
<script language="JavaScript1.2">

function clone_this_dim(){

	NewRow = document.getElementById('tabdim').lastChild.cloneNode(true);
	document.getElementById('tabdim').appendChild(NewRow);
	
	var i = document.getElementById('tabdim').childNodes.length;
	
	for(j=0;j<document.getElementById('tabdim').lastChild.getElementsByTagName('input').length;j++){
		
		if(j == 0){
			var spalte = 'c_measures';
		}
		
		else if(j == 1){
			var spalte = 'tolerance';
		}
		
		else if(j == 2){
			var spalte = 'f_result';
		}
		
		else if(j == 3){
			var spalte = 'yesno';
		}
		
		var zeile = 'dim_';
		var newname = zeile + spalte + i;
		
		document.getElementById('tabdim').lastChild.getElementsByTagName('input')[j].setAttribute('name', newname);
		//var name = document.getElementById('tabdim').lastChild.getElementsByTagName('input')[j].name;
		document.getElementById('tabdim').lastChild.getElementsByTagName('input')[j].value='';
		document.getElementById('dim_zeilen').setAttribute('value', i);
		
	}
}

function add_diameter(){
	document.lastActiveTextArea.value += ";dm;"
}

</script>
</head>

<body>
<form method="post" name="test">
<table width="100%" cellpadding="0" cellspacing="0" border="0" id="tabdim">
					<tr>
           				<td width="219" align="center"><font size="1"><input onfocus="document.lastActiveTextArea = this;" type="text" name="dim_c_measures1" size="32"></font></td>
            			<td width="221" align="center"><font size="1"><input onfocus="document.lastActiveTextArea = this;" type="text" name="dim_tolerance1" size="33"></font></td>
            			<td width="216" align="center"><font size="1"><input onfocus="document.lastActiveTextArea = this;" type="text" name="dim_f_result1" size="31"></font></td>
            			<td width="38" align="center"><font size="1"><input name="dim_yesno1" type="checkbox" value="1"></font></td>
            			<td width="36" align="center"><font size="1"><input name="dim_yesno1" type="checkbox" value="0"></font></td>
					</tr>
					<tr> 
            			<td><font size="1">&nbsp;</font></td>
           			 	<td><font size="1">&nbsp;</font></td>
            			<td><font size="1">&nbsp;</font></td>
            			<td><font size="1">&nbsp;</font></td>
            			<td><font size="1">&nbsp;</font></td>
          			</tr>
				</table>
				<input type="hidden" name="dim_zeilen" id="dim_zeilen" value="1"><input type="button" value=" + " onClick="clone_this_dim()"><input type="button" value=" add &Oslash;-sign " onClick="add_diameter()">
</form>
</body>
</html>
 

Neue Beiträge

Zurück