2016-06-28 5 views
0

Ich habe eine Java Web Application, es verwendet Geschwindigkeit (* .vm) als die Präsentationsdatei. Ich habe ein Formular mit vielen Eingaben/Auswahlkästchen und ich möchte es mit einer anderen Quelle in der Aktion des Formulars einreichen. Das Formular hat 2 Schaltflächen. Zuerst als Submit bezeichnet, der Standardname, reicht es das Formular ein und es funktioniert wie es sollte. Ich habe damit kein Problem. Die zweite Schaltfläche ist nur eine Standardschaltfläche (Entwurf speichern), und diese Schaltfläche sollte das Formular auch an eine andere Quelle senden. Ich habe alles von Java-Seite, Struts, Beans usw. konfiguriert. Aber ich bekomme nur null von Java .. es übermittelt die Daten nicht.Wie kann ein Formular mit verschiedenen Aktionen gesendet werden?

ich folgende JQuery-Skript versucht haben, aber es hat nicht geholfen:

function submitDraft(form){ 
        var url = "addDraftMarriageAction.action"; 
        var formData = {}; 
         $(form).find("input[name]").each(function (index, node) { 
          formData[node.name] = node.value; 
         }); 
        $.post(url, formData).done(function (data) { 
        alert("Draft has been saved"); 
        }); 
       } 

Und ich diese Funktion von der onClick() -Methode der zweiten Taste genannt, gibt es die Warnung, aber die Java Seite bekommt das nicht.

Anregungen oder Hilfe ist

geschätzt
+0

-Seite nach Taste entladen klicken? – Rayon

+0

Sie können einen zusätzlichen Parameter beim Klicken auf die Schaltfläche senden, um die Schaltfläche anzugeben, auf die Sie geklickt haben. Und basierend auf dem Wert des Parameters können Sie entweder die Daten übermitteln oder einen Entwurf erstellen. –

+0

@Rayon, nein die Seite bleibt gleich. Es wird die Warnmeldung angezeigt, und die Eclipse-Konsole löst Nullzeigerausnahmen aus. – Daler

Antwort

1

ich eine Lösung gefunden haben, anstelle des entsandten Javascript-Code I benutzten:

    function submitDraft(){ 
        var url = "addDraftMarriageAction.action"; 
        $('form').attr("action", url); //change the form action 
        $('form').submit(); // submit the form 
       } 

Und ich habe alle Werte von der Java-Seite und jetzt ist alles funktioniert. So habe ich nicht alle Probleme aus der Java habe, aber es war mehr der Javascript-Probleme ...

Credits Posting same form to different actions depending on button clicked