2012-11-24 106 views
0

我用一個簡單的PHP形式我發現這裏http://www.1stwebdesigner.com/tutorials/custom-php-contact-forms/comment-page-2/#comments聯繫表格提交按鈕 - 禁用

但我有這幾個問題重定向。點擊提交按鈕時,我希望能夠保留在我的網站上,而不是在mail.php上重定向,而只是在我的網站上打印/回覆發送的消息。

此外,我想使字段有要求,如不是空的,我知道如何在PHP中做,但我必須首先解決重定向問題。

回答

2

你需要的是$.ajax from jQuery。這將發送POST請求而不重新加載頁面。

比方說你的按鈕被稱爲myButton然後爲onClick()事件,你會調用該函數

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}).success(function(msg) { 
    alert("Data Saved: " + msg); 
}); 

在你some.php那麼你只想用$_POST['name']$_POST['location']檢索信息。

編輯

假設你有一個輸入字段。你也可以通過jQuery從這個字段中獲取信息。你可以就在這時,通過AJAX發送從輸入字段的信息,你的PHP腳本

$('#yourInputField').val(); 

其中yourInputField是輸入字段的ID。有了這個,你可以將這些信息提供給腳本。如果表單中有多個元素,則可能需要查看功能serialize()。原則上同樣的事情,只是將所有信息壓縮成JSON字符串。

+0

所以當提交按鈕被點擊時,信息將被保存,然後轉移到php文件?在你的例子中,你說的名字是:「John」,但我希望John是用戶在輸入字段上寫有文本的文本,其名稱代碼爲「email」。所以它是''。我在問如何將輸入字段名稱鏈接到腳本。 – lonewulf

+1

那麼這也很容易,我已經添加了這篇文章在編輯 – toxicate20

+0

好吧,所以我在正確的方向嗎?這裏是一個jsFiddle:http://jsfiddle.net/rjg7W/1/ - 和我的php:'<?php $ name = $ _POST ['name']; $ email = $ _POST ['email'];?>'。當我將它添加到按鈕上時,該功能似乎不起作用(不出現味精)。 – lonewulf

0

有了剛纔設置表單動作爲當前頁面在同一頁上停留,那麼你可以使用:

if (isset ($_POST['submit'])){ 
(php code to run goes in here) 
echo 'blah blah'; 
} 

將運行PHP代碼,當按鈕被按下:)

提交

但是,這仍然會重新加載頁面,但它不會引導你到一個不同的PHP頁面。如果你不希望頁面重新加載,那麼你可以使用ajax :)