2009-06-25 7 views
0

Ich automatisiere ein Dokument mit HTML und Javascript über MS Editor. Bis jetzt habe ich viel Text, ein paar Textfelder und eine Schaltfläche, die eine JavaScript-Funktion ausführen wird, nachdem eine Zahl in eine der Textfelder eingegeben wurde. Dieses Dokument ist nur teilweise ausgefüllt; Ich habe jedoch festgestellt, dass nach dem Hinzufügen von Einträgen in meine Textfelder und dem Drücken der Taste alle Einträge gelöscht werden. Ich glaube, das ist ein Postback-Problem irgendeiner Art; Allerdings dachte ich, ein onlick-Ereignis mit Javascript zu verwenden würde keinen serverseitigen Befehl ausführen. Außerdem ist mein Dokument der gesamte clientseitige Code. Im Grunde ist es nur Text, HTML und, zur Zeit, eine JS-Funktion.HTML und Javascript automatisiertes Dokument löscht Einträge nach OnClick-Ereignis

Als Wiederholung, würde jemand wissen, warum meine Textbox-Einträge nach dem Ausführen eines onclick -Ereignisses einer Schaltfläche löschen, und wie man dies verhindern kann? Darüber hinaus führt das onclick-Ereignis die JS-Funktion aus, bei der es sich um eine if-Anweisung handelt, die dem Dokument mehr Text hinzufügt.

Danke,

DFM

Antwort

0

Wenn Sie eine <input type="submit"> Schaltfläche in Ihrem Formular dann, wenn Sie auf die Schaltfläche das Formular abgeschickt wird erhalten drücken, auch wenn Sie einen onclick Handler haben. Es gibt mehrere Möglichkeiten, dies zu lösen *, aber am einfachsten ist es, den Knopf zu type="button" zu ändern, was identisch ist, außer dass es nichts sendet.

<input type="button" onclick="checkEntries()" /> 

* Andere Lösungen beinhalten das Hinzufügen return false zu Ihrem onclick Handler, wie in onclick="checkEntries(); return false" oder das Hinzufügen von onsubmit="return false" zum <form> Elemente.

+0

Wow - Ich antwortete tatsächlich oben mit einer Frage, die Sie beantwortet haben, bevor ich "Kommentar hinzufügen" drückte. Sie müssen meine Gedanken gelesen haben oder dieses sophomorische Problem viele Male zuvor gesehen haben. Trotzdem, danke für Ihre Antwort. Ich werde das morgen versuchen. –

+0

Ich habe jetzt auch Ihre Kontonummern. –