2016-08-04 3 views
1

Ich rufe eine Javascript-Funktion von onsubmit Ereignis, aber wenn Sie auf Senden klicken, Änderungen nur für eine Sekunde passieren.Javascript-Funktion macht keine Änderungen immanent

Ich möchte nach dem Aufruf der Funktion dauerhafte Änderungen vornehmen.

+1

Wird die Seite möglicherweise neu geladen, nachdem das Formular abgeschickt wurde? – David

+0

'onsubmit =" return change() ">' und 'function change() {document.getElementById (" demo "). Style.display =" none "; document.getElementById ("Formular"). Style.display = "Block"; Rückgabe false;} ' – Rayon

+0

oh ja das ist der Grund. eine andere Idiot Frage von mir .sorry –

Antwort

1

Standardmäßig bewirkt ein Formular eine Aktualisierung der Seite. Alle Änderungen, die Sie an der Seite vorgenommen haben, gehen verloren, wenn Sie sie erneut laden.

Anstatt ein Formular mit einer Senden-Schaltfläche zu verwenden, verwenden Sie einfach eine normale Schaltfläche. (Da Sie versuchen, nicht wirklich ein Formular einzureichen.) So etwas wie folgt aus:

<p id="demo"> hello </p> 
<form id="form"> 
    <input type="text"> 
    <button type="button" onclick="change()" /> 
</form> 

Sie können es weiter modifizieren die form ganz zu entfernen, was natürlich würde erfordern Aktualisierung JavaScript und jede CSS für das zur Rechenschaft Strukturelle Veränderung.

+0

Ich möchte das Formular abschicken, und ich möchte Änderungen an der Seite beibehalten, auch nachdem das Formular abgeschickt wurde. vielleicht sollte ich eine andere php-datei im action-attribut verwenden. aber ich benutze $ _SERVER ["PHP_SELF"] globle Variable, weil ich dann die erforderliche Feld- und Eingabevalidierung verifizieren kann. und zeige den Fehler auf der gleichen Seite –

+0

@nikhil: Dann müssen Sie die Änderungen irgendwo persistieren. Jedes Mal, wenn Sie ein Programm beenden und es erneut starten (wie Sie es beim erneuten Laden der Seite mit JavaScript tun), muss dieses Programm irgendwo gespeichert werden, damit es an etwas aus der vorherigen Ausführung erinnert wird. In einer Datenbank, in Ihrem Server-seitigen Sitzungszustand, in einem Cookie usw. Sie können nicht erwarten, dass der Code sich an etwas erinnert, Sie müssen Ihre Daten speichern. – David

Verwandte Themen