Auf dem Click-Ereignis für die Schaltfläche "Senden" rufe ich eine js-Funktion auf, um die Eingabe des Benutzers abzurufen und zur Verarbeitung an den Server zu senden. Zur gleichen Zeit muss ich das Formular mit allen gefüllten Daten zusammen schicken. Ich setze <button type="button">
statt <button type="submit">
als wenn ich 'type' als submit setzen es erhält Fehler. Dort funktioniert die js fein, aber die Feldwerte werden von der Controller-Methode nicht abgerufen.Formular submit und Javascript-Funktion Aufruf Submit-Button Klicken Sie im Frühjahr mvc?
Wie kann ich das mit nur einem Knopf tun? Hier ist meine Handler-Methode in der Steuerung:
@RequestMapping(value = "/add_package")
public
@ResponseBody
ModelAndView addPackage(@ModelAttribute("newPackage") Package newPackage,
HttpServletRequest request) {
LOGGER.error("package objct {}",newPackage);// here I am getting objects with null values !!
String s = request.getParameter("test");
LOGGER.trace("test val = {}", s);
ObjectMapper objectMapper = new ObjectMapper();
List<Package> cats = null;
String pkgName = newPackage.getPackName();
try {
...
} catch (Exception e) {
..
LOGGER.error("error in package add {}", e.getMessage());
}
return new ModelAndView(new RedirectView("add"));
}
Hier ist der jsp Code für Schaltfläche:
<form:button type="button" class="btn btn-success" id="btnAddNewPkg" onclick="contentPackge()"><span class="glyphicon glyphicon-plus"></span>
hinzufügen
können Sie die js Funktion teilen? Wie kommunizieren Sie mit dem Controller? Ajax verwenden? oder direkt abschicken? – brk
@ user2181397 Ich benutze Ajax. Hier ist es. '$ .ajax ({ url:" https: // localhost: 8443/admin/packages/add_package ", daten: {" test ": JSON.stringify (jsonObj)}, // typ:" POST " , erfolg: funktion (ergebnis) { } }); ' – SMash
versuchen, die url teil des codes und setzen sie url:" ./ add_package/" –