2014-04-23 49 views
0

我GOOGLE了很多,但找不到解決這個問題:刷新阿賈克斯格表單數據

我在我的主網頁一個div加載其他頁面用jQuery函數「.load」。這很好。在這個加載的頁面中,我有一個搜索選項。當表單被提交時,我希望這個ajax div能夠重新加載,並且提交的數據將被髮送,這樣我就可以在這個ajax div中使用它。

我該如何製作這樣的結構?我聽說.load使用GET,我的表單發送POST。但提交後使用.post函數不起作用。

有人嗎?

代碼SOFAR:

在我的主網頁我只是一個div,什麼都不重要

加載頁面:

<form id="formpie" name="zoek" action="" method="POST"> 
    <input type="hidden" name="zoek" value="zoek" id="zoek"/> 
    <input type="text" name="tags" size="31" id="tags"/> 
    <select name="categorie" id="categorie"> 
    <?php $imagelib = Imagelib::find_all();?> 
     <option value="">alle</option> 
    <?php foreach($imagelib as $imagelib_id): ?> 
     <option value="<?php echo $imagelib_id->id;?>"><?php echo $imagelib_id->naam; ?></option> 
     <?php endforeach;?> 
    </select> 
    <input type="submit" name="zoek" id="search" value="Zoek" /> 
</form> 
在我的JS文件

我:

的加載部分:

jQuery("#select_portal").bind('click', function() { 
      $("#dialog-form").css("display", "block"); 
      $("#dialog-form").css("top", "100px"); 
      $("#dialog-form").css("left", "auto"); 
      $("#dialog-form").css("right", "auto"); 
      $("#dialog-form").css("backgroundColor", "white"); 
      document.getElementById('dialog-form').style.visibility = 'visible'; 
      $("#dialog-form").load("imglib.php"); 
     }); 
    } 

提交按鈕後,已被點擊:

$('#formpie').submit(function (e) { 
    e.preventDefault(); 
    var tags = $("#tags").val(); 
    var categorie = $("#categorie").val(); 
    $.ajax({ 
     type: "POST", 
     url: "imglib.php", 
     async: false, 
     dataType: 'html', 
     success: function() { 
      $('#dialog-form').load("imglib.php", {tags : tags, categorie : categorie}); 
     } 
    }); 
}); 
+1

你可以發佈你的代碼嗎?或者你可以發佈一個示例html頁面和你試圖使用的場景。 –

+0

我已經發布了代碼的重要部分。基本上#POST數據將被用來填充一個div。這已經工作了,只是重新加載不適用於數據。 – Kraishan

回答

1

像這樣的東西應該工作:

$('#formpie').on('submit', function(e) { 
    e.preventDefault(); 

    $.ajax({ 
     type: 'POST', 
     url: "imglib.php", 
     async: false, 
     data: $(this).serializeArray(), 
     success: function(data) { 
      $('#dialog-form').html(data); 
     } 
    }); 
}); 

你應該郵局發送的數據。它不會自動發送表單數據。

+0

div現在重新加載。但是填寫的字段不能發送。它只是重新加載,就是這樣。編輯 - 你的編輯修復了它(GET to POST)。非常感謝!你拯救了我的一天。 – Kraishan

+0

在提供代碼後,我更改了我的答案:)您應該使用data屬性發送數據。 –