2011-07-28 28 views
1

我有一個頁面加載其他頁面到一個div:jQuery - 我可以在不重新加載頁面的情況下將表單提交到div中嗎?

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

在這個頁面是一種形式:

<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> 

我想提交此表無需重新加載原始頁面。

我知道我可以使用iframe來做到這一點,但我可以使用div來做到這一點嗎?

我正在使用ColdFusion 7和jQuery。

任何想法?

+3

你知道通過XHR發送[jQuery中的表單](http://api.jquery.com/jQuery.post/)的可能嗎? –

+1

也爲擴展功能有表格插件http://jquery.malsup.com/form/ –

回答

3

在jQuery中使用$ .post,$ .get或$ .ajax將允許您將表單數據發送到服務器端頁面。

$。員額例如:

$('#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); 
    }); 
}); 

你必須給你的形式的ID和上面的代碼更改#form_id。 $(this).serialize()將解析表單中的數據,並用數據創建一個URL字符串,然後將其發送到腳本。

+0

Nitpick:你不*有*給表格一個ID,任何適當的選擇器會做。 –

+0

太棒了!我現在就試試看,並告訴你它是如何發生的。謝謝您的幫助! –

+0

@Wesley是的,任何適當的選擇器都可以,所以爲什麼不添加一個ID來具體呢? 「jQuery,讓我在這個動態頁面上的第五個表單」或「jQuery,讓我具體表單ID ='form_id'。」 –

相關問題