HighDots Forums  

Re: Automatischer submit im FF

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Re: Automatischer submit im FF in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
B.Eckstein
 
Posts: n/a

Default Re: Automatischer submit im FF - 07-11-2006 , 01:02 PM






Michael Döring schrub im Jahre 11.07.2006 18:47:

Quote:
var submitObjekt = document.forms["formname"].submit,
Weiß jemand, warum das im Firefox nicht klappt?
submit ist eine Methode, keine Eigenschaft.

....submit() sollte helfen.

--
B.Eckstein, eck (AT) ivu (DOT) de Cheap, Fast, Good - pick any two of them
Die FAQ zu de.comp.hardware.netzwerke: http://how.to/dchn
Mozilla-Tips: http://mozilla-anleitung.de/ http://www.holgermetzger.de/


Reply With Quote
  #2  
Old   
Timo Stamm
 
Posts: n/a

Default Re: Automatischer submit im FF - 07-11-2006 , 01:17 PM






B.Eckstein schrieb:
Quote:
Michael Döring schrub im Jahre 11.07.2006 18:47:

var submitObjekt = document.forms["formname"].submit,
Weiß jemand, warum das im Firefox nicht klappt?

submit ist eine Methode, keine Eigenschaft.
Das macht ja in Javascript keinen Unterschied. Eigentlich sollte das
gehen. Liegt wohl daran dass Formulare Hostobjekte sind.


Timo


Reply With Quote
  #3  
Old   
Georg Maaß
 
Posts: n/a

Default Re: Automatischer submit im FF - 07-11-2006 , 01:55 PM



Timo Stamm wrote:

Quote:
B.Eckstein schrieb:

Michael Döring schrub im Jahre 11.07.2006 18:47:

var submitObjekt = document.forms["formname"].submit,
Weiß jemand, warum das im Firefox nicht klappt?


submit ist eine Methode, keine Eigenschaft.


Das macht ja in Javascript keinen Unterschied.
Das ist sehr wohl ein Unterschied. Im konkreten Fall aber wird geprüft,
ob submit ein object mit einer eigenschaft click ist, von der ungeprüft
erwartet wird, daß sie eine Methode ist, oder es wird ebenso ungeprüft
angenommen, daß submit selsbt eine Methode ist.

Wenn sowas irgendwo vorkommt:

document.forms["formname"].submit = 42;

dann geht das:

submitMethode = submitObjekt.click || submitObjekt;

schief: Wenn sowas irgendwo vorkommt:

document.forms["formname"].submit.click = 42;

dann geht das:

submitMethode();

schief, weil dann submitMethode keine Funktion mehr ist.

Quote:
Eigentlich sollte das
gehen. Liegt wohl daran dass Formulare Hostobjekte sind.
Dann wäre es ein Bug in FF.


Löst denn ein document.forms["formname"].submit.click() überhaupt ein
Abschicken aus?

Wenn Du Dir eine Referenz auf die Funktion
document.forms["formname"].submit.click beschafft hast und die nackte
Funktion im globalen Kontext aufrufst, besteht dann überhaupt noch ein
Bezug zum konkreten Formular, oder wird dann nicht die Funktion in
globalem Kontext statt im Kontext ihres Formulars ausgeführt und geht
somit in die Binsen?


Reply With Quote
  #4  
Old   
Timo Stamm
 
Posts: n/a

Default Re: Automatischer submit im FF - 07-11-2006 , 03:42 PM



Georg Maaß schrieb:
Quote:
Timo Stamm wrote:

B.Eckstein schrieb:

Michael Döring schrub im Jahre 11.07.2006 18:47:

var submitObjekt = document.forms["formname"].submit,
Weiß jemand, warum das im Firefox nicht klappt?


submit ist eine Methode, keine Eigenschaft.


Das macht ja in Javascript keinen Unterschied.

Das ist sehr wohl ein Unterschied.
Der da wäre? Eine Methode ist eine Eigenschaft.


Quote:
Wenn sowas irgendwo vorkommt:

document.forms["formname"].submit = 42;

dann geht das:

submitMethode = submitObjekt.click || submitObjekt;

schief: Wenn sowas irgendwo vorkommt:

document.forms["formname"].submit.click = 42;

dann geht das:

submitMethode();

schief, weil dann submitMethode keine Funktion mehr ist.
Zwei gute Gründe, das nicht zu machen. Das heisst aber nicht, dass der
code nicht funktionieren sollte, wenn man die Methoden /nicht/ überschreibt.


Quote:
Eigentlich sollte das gehen. Liegt wohl daran dass Formulare
Hostobjekte sind.

Dann wäre es ein Bug in FF.


Löst denn ein document.forms["formname"].submit.click() überhaupt ein
Abschicken aus?
Ich glaube kaum dass form.submit.click Teil des Standards ist. Das
klingt einfach zu bescheuert als dass es ein API-Designer so entwerfen
würde. Erstens ist eine Methode in einer Methode ziemlich hinterhältig
und wenig intuitiv, zweitens hat ein DOM überhaupt nichts mit der
HTML-Interpretation zu tun und eine Methode mit dem Namen "click" ist
deshalb einfach domänenfremd.


Quote:
Wenn Du Dir eine Referenz auf die Funktion
document.forms["formname"].submit.click beschafft hast und die nackte
Funktion im globalen Kontext aufrufst, besteht dann überhaupt noch ein
Bezug zum konkreten Formular
Nein, da lag ich falsch. Ich hätte schwören können dass der Bezug zum
Objekt erhalten bleibt. Hm. Alzheimer?


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.