Value übertragen

kurland

Mitglied
Hallo,

Ich will Beim onclick-Event auf einen Button eine Funktion aufrufen, die den value aus dem inputFeld1 in den value des InputFeld2, InputFeld3 und InputFeld4 schreibt.
Wie mach ich das bloss?

Danke, Gruss Roli
 
HTML:
<script language="javascript" type="text/javascript">
function copyValues() {
    var l = copyValues.arguments.length;
    for (var i=1; i<l; i++) {
        document.getElementById(copyValues.arguments[i]).value = document.getElementById(copyValues.arguments[0]).value;
    }
}
</script>
<body>
<input type="text" id="text1">
<input type="text" id="text2">
<input type="text" id="text3">
<input type="text" id="text4">
<input type="button" id="button" value="button" onClick="copyValues('text1', 'text2', 'text3', 'text4')">
</body>

Gruß

.
 
Hi,

Ja, dies klingt ja gut, nur die input-Felder werden dynamisch generiert, d.h. mal sind es 5 mal sind es 20 etc., je nach anzahl der Datensätze, und nu

Gruss Roli
 
hmm,

dann vielleicht so (wenn Du die Textfelder in ein eigenes Formular setzen kannst):
HTML:
<script language="javascript" type="text/javascript">
function copyValues(source) {
    for (var i=0; i<document.form1.elements.length; i++) {
        document.form1.elements[i].value = document.getElementById(source).value;
    }
}
</script>
<body>
<form name="form1">
<input type="text" id="text1">
<input type="text" id="text2">
<input type="text" id="text3">
<input type="text" id="text4">
</form>
<input type="text" id="sourcetext">
<input name="button" type="button" id="button" value="button" onClick="copyValues('sourcetext')">
</body>

Gruß

.
 
Aha, sieht viel versprechend aus.
Einfachheitshalber habe ich im Beispiel jedoch name=text1 etc. verwendet. im real-live ist es jedoch so, dass sich die Zahl mitten im String befindet nähmlich so:
name=peter.paul(124,1)
name=peter.paul(124,2)
name=peter.paul(124,3)

Ist nun mal so vorgegeben und die Namen kann ich nicht ändern. Zudem ist dem input-tag auch keine Objekt ID zuzuweisen.

Gruss Roli
 
Beim zweiten Beispiel brauchst Du weder IDs in den "Ziel"-Textfeldern, noch deren Name - es werden einfach alle Elemente in dem Formular durchlaufen und mit dem Wert des Quellfeldes gefüllt. Was Du benötigst, ist eine Referenz auf das Quelltextfeld sowie den Namen des umgebenden Formulars für die Zieltextfelder.

Gruß

.
 
Morgen,
Achso, jetzt hab ichs geschnallt, und es wird für alle anwesenden Formularelemente, ob hidden oder nicht der vorgegebene Wert übernommen, gut. Nun darf aber genau das nicht passieren. In meinem Formular-Tag hat es zig verschiedene Elemente, der Wert darf aber nur für die Elemente mit den Namen
<input type="select" name="peter.paul(124,1)">
<input type="select" name="peter.paul(124,2)">
<input type="select" name="peter.paul(124,3)">
etc..
übernommen werden.

Gehts das auuch?

Gruss Roli
 
Mach doch in die for-Schleife noch ne if-Abfrage rein:
Code:
....

if(document.form1.elements[i].name = "peter.paul(324,324)")
    document.form1.elements[i].value = document.getElementById(source).value;

...
Ich hab ja keine Ahnung, wie deine Name-Felder erstellt werden
 
Hallo,

aber so wird doch der value nur für das Objekt mit dem Namen peter.paul(324,324) übernommen, sollte jedoch für alle übernommen werden, die mit peter.paul(324 beginnen.

Gruss Roli
 
Wenn du weißt, wie viele mit peterpaul(... beginnen, bau doch einfach noch ne for-Schleife drum:

Code:
....
for(k=0;k<anzahl_peterpauls;k++) {
if(document.form1.elements[i].name = "peter.paul(324," + (k+1) + ")")
document.form1.elements[i].value = document.getElementById(source).value;
}

...
SO wird es aber schon ganz schön umständlich....
 

Neue Beiträge

Zurück