JS: Probleme mit prototype: $F()
Permafrost
- javascript
0 molily2 Tim Tepaße0 Permafrost0 ChrisB
hallo
ich habe mir prototype 1.6.0.2 heruntergeladen: http://www.prototypejs.org/download
Nun experimentiere ich mit den funktionen $('id') und $F('id'). Habe ein Prob. mit der Beschreibarkeit der Variablen.
ich habe zB. ein <div>
mit der id "display". Folgendes funktioniert:
$("display").innerHTML = txt;
hat funktioniert, kann also beschrieben werden.
Dann habe ich ein Formular mit Namen "formular". Ein Feld mit Namen "ort" hat die gleichlautende id - wie prototype vorschreibt. Die Felder sollen aber nicht nur gelesen, auch beschrieben werden.
Dies hat nicht funkt.:
$F("ort").value = wert1;
Probier ich dies:
$F("ort") = wert1;
kommt in der Firefox-Fehlerkonsole: "Invalid assignment left-hand side"
schliesslich musste ich auf dies zurückgreifen:
document.formular.ort.value = wert1;
kann ich diese $F("") also nur lesen?
hier ist die Doku, aus der das leider nicht hervorgeht:
http://www.sergiopereira.com/articles/prototype.js.html#Dollar_F_Function
Danke, Gruß
kann ich diese $F("") also nur lesen?
Ja.
hier ist die Doku, aus der das leider nicht hervorgeht:
http://www.sergiopereira.com/articles/prototype.js.html#Dollar_F_Function
Geht aus der aktuellen Referenz durchaus hervor:
http://prototypejs.org/api/utility/dollar-f
http://prototypejs.org/api/form/element/getValue
schliesslich musste ich auf dies zurückgreifen:
document.formular.ort.value = wert1;
Vermutlich bietet Prototype noch eine elegantere Art, aber da müsstest du mal forschen, auf die Schnelle habe ich nichts gefunden.
Mathias
Hallo,
ich habe mir prototype 1.6.0.2 heruntergeladen [...]
hier ist die Doku, aus der das leider nicht hervorgeht:
Unter prototypejs.prg gibt es übrigens die aktuellere Dokumentation.
Dies hat nicht funkt.:
$F("ort").value = wert1;
»$F: Returns the value of a form control. This is a convenience alias of Form.Element.getValue. Refer to it for full details.«
Ja, $F() gibt als nur den Wert zurück. Wenn Du das Element selber haben willst, nimm $('ort'), für den Wert dann also $('ort').value. Effektiv braucht man $F() gar nicht.
Tim
vielen Dank für die wie immer schnelle Hilfe! ok da habe ich wohl die falsche doku erwischt oder, wie so oft nicht richtig nachgelesen.
Mit $('')
geht es jetzt und $F('') kann ich wohl vergessen. Habe aber noch probleme mit: $('feldname').focus()
das will nicht funktionieren, das krieg ich aber schon noch hin :)
Danke, Gruß schönen Sonntag
Hi,
[Prototype]
Ja, $F() gibt als nur den Wert zurück. Wenn Du das Element selber haben willst, nimm $('ort'), für den Wert dann also $('ort').value. Effektiv braucht man $F() gar nicht.
Das gilt effektiv ja genauso fuer Prototype.
MfG ChrisB