2017-01-08 3 views
0
sendet

Wenn Benutzer auf Senden auf einem Formular klickt, möchte ich den Inhalt eines Feldes ändern und dann senden. Ich habe jetzt über 20 verschiedene Möglichkeiten ausprobiert, aber keiner von ihnen funktioniert. Ich kann das Absenden-Ereignis erkennen, es abbrechen und die Felder ändern, aber ich bin nicht in der Lage, das Formular erneut im selben Ereignis zu senden. Mein letzter Versuch war mit JQuery:JavaScript: Formular ändern, wenn Benutzer

$("form").submit(function (e) { 
     e.preventDefault(); 
     var element = document.getElementById("categorySafari"); 
     var selection = element.options[element.selectedIndex].text; 
     document.getElementById("category").value = selection; 
     this.submit(); // <-- this doesn't work and nothing I've tried here works 
    }); 
+0

Haben Sie Fehler in der Konsole überprüft? –

+0

"Submit ist keine Funktion" –

+0

natürlich können Sie nicht abschicken, Sie kündigen jeden einreichen! heh ... Endlosschleife? Verwenden Sie ein Flag irgendeiner Art, um festzustellen, ob die Bereinigung ausgeführt wurde, und nicht 'preventDefault()', wenn es sauber ist. – dandavis

Antwort

1

entfernen die e.preventDefault() und die this.submit() Anruf auslösen können. Das verhindert die Formularübermittlung.

+0

Und entfernen Sie auch 'this.submit()', da das Formular automatisch gesendet wird. – Barmar

0

Vielleicht onClick Ereignis Ihrer Submit-Button und Call-Funktion zu setzen versuchen, Ihre Felder dann aus diesem Funktionsaufruf zu behandeln Formularereignis vor.
Here ist, wie Sie Formular mit js

Verwandte Themen