Wiederverwendbare Funktion
Klemens Ullmann
- javascript
Hallo,
ich stecke bei folgendem Problem:
Ich möchte eine Funktion, die den Inhalt eines input Feldes bearbeitet und die Ausgabe wieder dem Inhalt dieses Feldes zurückgiebt.
Ich möchte dabei den Feldnamen nicht hart-kodieren, sondern das ursprüngliche Feld ansprechen, sodass ich nicht für jedes Feld eine eigene Funktion schreiben muss:
<form name='myform'>
<input type='text' name='123' value='110,23' onBlur='CheckInhalt(this.value)' />
<input type='text' name='124' value='686,35' onBlur='CheckInhalt(this.value)' />
</form>
<script type="text/javascript">
function CheckInhalt (myvalue) {
myvalue = myvalue.replace(",",".");
... ?
==> wie kann ich das ursprüngliche Feld ansprechen ohne es beim Namen zu nennen?
}
Danke!
Hallo Klemens.
==> wie kann ich das ursprüngliche Feld ansprechen ohne es beim Namen zu nennen?
}
Verzichte darauf, die value-Eigenschaft auch in die Variable aufzunehmen, sondern übergib nur this
. Dann kannst du mit deinem Ansatz einfach myvalue.value
modifizieren.
Einen schönen Freitag noch.
Gruß, Ashura
Vielen Dank für eure Tipps!
Ich habe da viel zu kompliziert gedacht.
:-) Klemens
Gugugg
==> wie kann ich das ursprüngliche Feld ansprechen ohne es beim Namen zu nennen?
ganz einfach. Du übergibst deiner Funktion nicht nur this.value, sondern einfach this. Das ist dann naemlich dein Element.
Und deine Funktion geht dann so:
function CheckInhalt(elt) {
var val = elt.value;
...
// und wenn du den wert oder sonst eine eigenschaft deines elements aendern willst
elt.value ="neuer Wert";
}
Gruss, Uschi
<form name='myform'>
<input type='text' name='123' value='110,23' onBlur='CheckInhalt(this.value)' />
<input type='text' name='124' value='686,35' onBlur='CheckInhalt(this.value)' />
</form><script type="text/javascript">
function CheckInhalt (myvalue) {
myvalue = myvalue.replace(",",".");... ?
==> wie kann ich das ursprüngliche Feld ansprechen ohne es beim Namen zu nennen?
}
Oder so:
<input type='text' name='124' value='686,35'
onBlur='this.value = CheckInhalt(this.value)'
function CheckInhalt (myvalue) {
return myvalue.replace(",",".");
}
Struppi.