lina-: wie onsubmit "aufhalten"?

Beitrag lesen

moin :)

Ich möchte gern ein submit kurzzeitig aufhalten und eine Funktion dazwischen ausführen zu lassen.
Hier mal ein bissl Codeschnipsel:

  • Die Form die submitted wird:
    <html:form target="tabContent"  onsubmit="checkTextField()" action="/OrderQueryAction" >

  • ein Textfeld in der Form das bei submit zunächst geprüft werden soll.
    <html:text name="orderQueryForm" property="pubdate" styleId="calText"  onblur="updateTextField('calText')"/>
    (styleId ist das Struts-äquivalent zu id)

  • die Funktion die einfach nur veranlasst, dass das Textfeld verlassen wird (und somit die update-funktion aufgerufen wird --> siehe Textfeld onblur)
    function checkTextField(){
      document.getElementById('calText').blur();
    }

In Firefox geht diese Strategie wunderbar auf. Nur der IE macht mir mal wieder Sorge...
Der verarbeitet das ganze scheinbar in zwei Threads - so dass das submit schon durch ist während update noch nicht fertig ist.
Das Ergebnis ist ein kurzes Aufflackern des richtigen values im Textefeld - und anschliessend wird doch wieder das alte dargestellt.

Nun habe ich ja überlegt, dass setTimeout mir helfen könnte - aber damit kann ich ja maximal die update-methode noch weiter hinauszögern.

Hat jemand ne tolle Idee zu diesem Problem?

liebe Grüße aus Berlin
lina-

--
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)