2012-04-05 8 views
0

Ich versuche, ein Formular mit jQuery zu einer Spring MVC Controller-Methode zu senden und laden Sie die Antwortseite in einem div-Tag eines Dialogfelds.Reload Spring MVC-Antwortseite in jQuery Dialog

jquery in Dialog

$("#findbtn").click(function() { 
    $("#content").load($("#searchform").submit()); 
}); 

Formular

<form id="searchform" method="POST" action="/select"> 
       <input type="text" id="csearch" name="csearch" /><input 
        type="button" id="findbtn" /> 
    </form> 

Controllermethod

@RequestMapping(value = "select", method = RequestMethod.POST) 
public String getSelection(Model model, @RequestParam("csearch") String find) { 

    model.addAttribute("list", list); 
    return "/select"; 
} 

Das Problem ist, dass die Antwortseite wird als eine neue Seite angezeigt und kein t im Dialog. Gibt es eine Möglichkeit, es in den Dialog zu laden.

Hinweis: Die Antwortseite (/ select) ist zufällig dieselbe Seite wie die aktuell geladene Seite im Dialogfeld. Das bedeutet, dass ich den Inhalt des Dialogs mit derselben Seite neu laden möchte, außer dass die Liste anders ist.

dank

+0

Welchen Dialog verwenden Sie? Jquery UI-Dialog? – MarkOfHall

Antwort

2

Sie verwenden JQuery nicht load korrekt (und es ist nicht die richtige Methode für das, was Sie tun wollen). $.load() nimmt eine URL, Sie stellen ein Dom-Element zur Verfügung.

Es gibt viele Beispiele für "jquery ajax form submit" im Internet.

$.ajax({type:'POST', url: '/select', data:$('#searchform').serialize(), success: function(response) { 
    $('#content').html(response); 
}});