JeSchnell: value innerhalb des inputtags setzen

Beitrag lesen

hi,

ich möchte per js den value von inputs setzen. damit ich bei allen inputs den gleichen code nutzen kann (value="get_value(this.name)") müsste das innerhalb des inputs passieren.

nein, du kannst auch mit <elementobjekt>.on<click|mouseover|etc.> = function() {this.value = get_value(this.name);} dirket aus dem Script deinen Wert setzen.

Bei dieser Variante wird allerdings der Text get_value(this.name) ausgegeben.

Dies ist auch nicht sehr verwunderlich, da der Tag kein Eventhandler ist (beginnt nicht mit "on"), d.h. er wird nicht geparst.

Gibt es einen Eventhandler a la onload für inputs?

Nein, gibt es nicht; aber du kannst einen window.onload definieren und darin auf die "Inpütter" ;-) zugreifen. Das sehe dann ca. so aus:

  
onload = function() {  
  var Inpuetter = document.getElementsByTagName('input');  
  for(var Zaehler = 0; Zaehler < Inpuetter.length; Zaehler++)  
    Inpuetter[Zaehler].value = get_value(Inpuetter[Zaehler].name);  
}  

oder kann ich irgendwo im tag this.value=get_value(this.name) unterbringen?

Meiner Meinung nach solltest du das schon serverseitig unterbringen. In PHP würde das beispielsweise so aussehen: <input value="<?php echo get_value($<Variable, wo Name gesp.>); ?>"> Die einzigen Berechtigungen, dies per JavaScript durchzuführen, sind:
  1. Nur User mit aktiviertem Scripting sollen diese Werte gesetzt bekommen. Dies ist bei Hiddenfeldern sinnvoll, in welchen herausgefunden werden soll, ob der Client JavaScript aktiviert hat.
  2. Wenn Teile des generierten Wertes Eigenschaften, die nur in JavaScript existieren, erfordern.

lg JeSchnell