2011-07-28 4 views
1

내가 사업부에 다른 페이지를로드하는 페이지가 있습니다jQuery - 페이지를 다시로드하지 않고도 div에 양식을 제출할 수 있습니까?

<form action="Amenities/AmenitiesAdd.cfm" method="post"> 
<input type="text" value="" name="NewAmenity" id="NewAmenity" size="50" maxlength="50"/> 
<input type="submit" value="save new amenity" id="SaveNewAmenityButton" disabled="disabled" /> 
</form> 

내가 원래 페이지를 다시로드하지 않고이 양식을 제출하려면 :

$("#AmenitiesDiv").load("Amenities/AmenitiesAdd.cfm"); 

이 페이지에서하는 형태이다.

iframe을 사용하여이 작업을 수행 할 수 있음을 알고 있지만 div를 사용하여 작업을 수행 할 수 있습니까?

ColdFusion 7 및 jQuery를 사용하고 있습니다.

아이디어가 있으십니까?

+3

XHR을 통해 [forms in jQuery] (http://api.jquery.com/jQuery.post/)를 보낼 수 있습니다. –

+1

또한 확장 된 기능을 위해 양식 플러그인이 있습니다. http://jquery.malsup.com/form/ –

답변

3

jQuery에서 $ .post, $ .get 또는 $ .ajax를 사용하면 양식 데이터를 서버 측 페이지로 보낼 수 있습니다.

$ .post 예 : 양식에게 ID를 부여하고 위의 코드에 #form_id 변경해야

$('#form_id').live('submit', function(e)){ 
    //Prevent the form from submitting normally 
    e.preventDefault(); 

    $.post('server_script.cfm',$(this).serialize(),function(msg){ 
     //alert the response from the server 
     alert(msg); 
    }); 
}); 

. $(this).serialize()은 양식의 데이터를 구문 분석하고 데이터로 URL 문자열을 작성한 다음 스크립트로 보냅니다.

+0

Nitpick : 양식에 ID를 부여하지 않아도됩니다. 적절한 선택자가 수행 할 수 있습니다. –

+0

굉장! 나는 이것을 지금 시도 할 것이고, 그것이 어떻게되는지에 관해 당신에게 알릴 것이다. 도와 주셔서 감사합니다! –

+0

@ 웨슬리 그렇습니다. 적절한 선택기가있을 것입니다. 그렇다면 왜 ID를 추가하지 마십시오. "jQuery,이 동적 페이지에서 다섯 번째 양식 가져 오기"또는 "jQuery, 나에게 ID 양식 = 'form_id'가져 오기." –

관련 문제