2009-05-11 4 views
1

아약스를 사용하여 팝업을로드해야하는 jsp 페이지가 있습니다. 페이지의 내용은 사용자가 채운 양식에 따라 결정됩니다. 이 같은아약스를 사용하여 팝업로드

뭔가 :

자바 스크립트 :

ajax('getPage.action', 'content_id', 'form_id'); 

foo.jsp에 :

<div id="content_id"></div> 

<form id="form_id"> 
... 
</form> 

자바/스프링 :

@RequestMapping("getPage.action") 
MyController extends AbstractCommandController { 
    RealDto dto = (RealDto)command; 
    ... 
    return new ModelAndView("foo", data); 
} 

나에게 가장 어려운 부분이다 양식 데이터를 보내는 방법 e asily ayax call. 여기 jQuery를 사용할 수 있습니까? 양식이 동적으로 변경되므로 양식의 모든 필드를 나열하는 것이 상당히 번거로울 수 있습니다.

스프링 XT (절대로 사용하지 않음)를 사용하면 도움이됩니까?

답변

2

예, 당신이 하찮게 데이터를 보낼 수있는 형태로 변환하는 serialize을 사용할 수 있습니다 : 당신은 단 한 줄의 코드가 필요합니다.

$("#form1").submit(function() { 
    $.get("/desiredURL", $("#form1").serialize(), function(response) { 
     // send response data to a popup 
    } 
} 

당신은 데이터를 전송하는 get 또는 post을 사용할 수 있습니다.

팝업의 경우 나는 facebox을 좋아하지만 많은 선택이 있습니다.

0

내가 jQuery를 모르는, 그러나 프로토 타입이 쉽습니다 :

new Ajax.Request('getPage.action', { 
    parameters: $('form_id').serialize(true), 
    onSuccess: someMethod 
); 

체크 아웃 Prototype API docs. http://docs.jquery.com/Ajax

2

jQuery form plug-in은 쉽게 아약스 하나에 일반 양식을 변환 도움이 될 수 있습니다

이 페이지는 같은 jQuery를위한 정보를 제공합니다.

$("#myform").ajaxForm(
    {beforeSubmit: validate, success: showPopup}); 
+0

JQuery 1.2부터 플러그인이 필요하지 않습니다. http://docs.jquery.com/Ajax/serialize – Pool

+0

예, 양식 플러그인 (특히 유효성 검사 플러그인 포함)을 사용하면 일반 양식을 한 줄의 코드가있는 AJAX 코드입니다. – kgiannakakis

관련 문제