2011-10-28 137 views
1

我知道這已經被覆蓋了很多,但我在這裏有點超出我的深度,我只是需要有人解釋如何以某種方式做到這一點我能夠了解。使用Ajax提交表單並立即顯示PHP文件的結果

我期待通過jQuery中的AJAX函數提交HTML表單,然後它立即將表單數據發送到我的PHP腳本。然後,我的PHP腳本需要收集這些數據並分配給變量等。然後,PHP腳本會加載其他垃圾,最後基於輸入的數據回顯出一些結果。

一旦完成,我希望echo'd數據與HTML表單顯示在同一頁面上。

我不明白的是如何從PHP文件收集響應,以便我可以在窗體頁面上輸出它。

我嘗試使用有人發佈在這裏的(res)參數:PHP + jQuery + Ajax form submission - return results on the same page從我可以看到的是沿着我想要實現的,但它是輸出整個PHP文件(實際的PHP代碼本身),而不是我的單一回聲。

任何幫助非常感謝!

謝謝。

+2

你可以用這種方式發佈你的代碼,我們可以看到錯誤在哪裏,並幫助你糾正它。 – Olorin

+0

如果您將整個PHP文件返回給您未處理,那麼您的解釋器可能會中斷。將PHP文件的URL直接插入瀏覽器會發生什麼?這是否也會返回整個未處理的PHP文件? – Tim

+0

它可能就像你的php文件有一個html擴展一樣簡單。嘗試直接點擊PHP文件並查看顯示內容。 – Derek

回答

2

您只需設置一個$.get()$.post()查詢。

給形式的ID在HTML:

<form id="ajaxquery" method="post" action=""> 
<label for="field">Type Something:</label> 
<input type="text" name="field" id="field" value="" /> 
<input type="submit" value="Send to AJAX" /> 
</form> 

<div id="success"></div> 
在JS

然後:

$("#ajaxquery").live("submit" , function(){ 
    // Intercept the form submission 
    var formdata = $(this).serialize(); // Serialize all form data 

    // Post data to your PHP processing script 
    $.post("/path/to/your.php", formdata, function(data) { 
     // Act upon the data returned, setting it to #success <div> 
     $("#success").html (data); 
    }); 

    return false; // Prevent the form from actually submitting 
}); 
在PHP

然後:

<?php 

// Process form data 
echo '<strong>You submitted to me:</strong><br/>'; 
print_r($_REQUEST); 

任何回波()倒是將返回到$ .post()函數data

+0

我明白它是如何工作的!感謝您發佈此信息。得到我的腳本工作以及:) – tctc91

+0

偉大的作品,但你如何確保文本區域的內容刷新回到默認? –

0

有一個$ .ajax();使用jquery調用提交頁面併成功(當PHP代碼運行時)返回json字符串幷包含一個包含狀態的元素:true或類似的東西然後調用一個函數(在jquery成功),從另一個php頁面獲取結果並立即顯示

0

JQuery's get function將允許你傳入一個函數,這個函數將被成功的請求調用。

jQuery.get(url [, data] [, success(data, textStatus, jqXHR)] [, dataType]) 
0

無論如何,如果你的實際代碼得到充分的展示,還有我能想到的幾個原因:

A.錯誤的服務器配置/編譯PHP的 - 你的服務器不能處理PHP頁面腳本文件並將其輸出爲文本。你的代碼寫得不正確(主要是當服務器上的短標籤如<?被禁用,你需要編寫<?php),所以你的服務器不接受它作爲腳本。

+0

同意的先生,他似乎有解析問題。 – Tim

+0

感謝大家的快速回復!我會看看是否解決了我的問題。如果沒有,我會在這裏發佈我的代碼。謝謝:) – tctc91