iT邦幫忙

0

如何利用javascript傳POST的值至其他頁面

smallone1 7 月前4345 瀏覽

大家好,我是菜鳥,如果問的問題很蠢請鞭小力一點

http://ithelp.ithome.com.tw/upload/images/20161222/20103385nzwH089xPQ.png
上圖是我想要練習的一個流程
主要是想要練習PHP檔案處理跟寄送email的東西。(不想用javaScript做)

但我寫了之後發現
我第一個表單頁面傳到第二個頁面(SaveAndSend.php),如果用PHP可使用$_POST將表單內容取出是沒問題
但我發現我第二個頁面想利用ajax來做檔案處理時就卡住了。
以下是我的第二個頁面(SaveAndSend.php)
http://ithelp.ithome.com.tw/upload/images/20161222/201033850mX96YsPu4.png
我要如何將表單頁面的值傳到SaveAndSend.php(上圖)好讓我在按下"儲存至檔案"後來當ajax的data,以利save.php可以取得表單資料寫入csv檔並儲存。

$.ajax({
    url: "save.php",
    data: {
        name: ?,
        tel: ?,
        birthday: ?,
        email: ?,
        address: ?
    },
    type:"POST",
    dataType:'text',
    success: function(msg){
        //$('#result').text("儲存成功!");                    
    },
    error:function(xhr, ajaxOptions, thrownError){ 
    }                
});

先謝謝大家,卡好久了 :(

看更多先前的討論...收起先前的討論...
jerry00218 iT邦研究生 3 級 ‧ 7 月前 檢舉
用 document.getElementById() 取得表單的值,然後放到 AJAX 的 Data ??
smallone1 iT邦新手 5 級 ‧ 7 月前 檢舉
你好,因為我的表單是在form.html,我會用POST的方式傳到SaveAndSent.php這個檔案,所以getElementById無法取到值@@"
我SaveAndSent.php是用下面這樣印出來的
```
$_SESSION["name"] = $_POST["name"];
$_SESSION["tel"] = $_POST["tel"];
$_SESSION["birthday"] = $_POST["birthday"];
$_SESSION["email"] = $_POST["email"];
$_SESSION["address"] = $_POST["address"];
print "姓名: ".$_SESSION["name"]."<br/>";
print "電話: ".$_SESSION["tel"]."<br/>";
print "生日: ".$_SESSION["birthday"]."<br/>";
print "EMail: ".$_SESSION["email"]."<br/>";
print "地址: ".$_SESSION["address"]."<br/>";
```
jsgao0 iT邦新手 5 級 ‧ 7 月前 檢舉
先說說你那段jQuery.ajax是在哪個頁面吧?
smallone1 iT邦新手 5 級 ‧ 7 月前 檢舉
SaveAndSent.php
fillano iT邦超人 1 級 ‧ 7 月前 檢舉
...都使用jQuery了...

你要用getElementById能抓到東西的話,顧名思義,要有id阿?例如:
print "姓名: <input id='name' value='" . $_SESSION["name"] . "'><br/>";
這樣用document.getElementById('name').value就可以抓到值。
smallone1 iT邦新手 5 級 ‧ 7 月前 檢舉
@fillano
您好,所以您的意思是在第二頁SaveAndSent.php時把POST接到的值都用php放到html裡嗎?好像有點頭緒了 謝謝您 :)
0
sunallen
iT邦好手 1 級 ‧ 7 月前

請問

print "姓名: ".”<p id=”name”>”.$_SESSION["name"]."</p><br/>";

這樣抓的到嘛

看更多先前的回應...收起先前的回應...
smallone1 iT邦新手 5 級 ‧ 7 月前 檢舉

這不是PHP取法嗎?
我現在是要在ajax抓
如下:
data: {
name: ?,
tel: ?,
birthday: ?,
email: ?,
address: ?
},
不知道該怎麼抓@@"

sunallen iT邦好手 1 級 ‧ 7 月前 檢舉

歐,看您上一篇的回應,以為是在php抓

sunallen iT邦好手 1 級 ‧ 7 月前 檢舉

Save.php 回的資料,用array包起來,再放到json, ajax收data,再解json,這樣行嗎

海綿寶寶 iT邦超人 1 級 ‧ 7 月前 檢舉

主要是想要練習PHP檔案處理跟寄送email的東西。(不想用javaScript做),然後又要用AJAX做

光這點我就看不懂了
再加上樓主有參加此屆鐵人賽
題目是「網頁程式設計so easy」
我決定蓋牌
結束這一回合
/images/emoticon/emoticon11.gif

smallone1 iT邦新手 5 級 ‧ 7 月前 檢舉

海綿大大你好,是這樣的設計很奇怪嗎?
因為想用php處理 但又不需要導頁 所以才想說要用ajax
還請前輩指導一下怎麼處理比較正確
在業界 檔案處理跟寄送email是在javascript端做還是在php端做?
謝謝

smallone1 iT邦新手 5 級 ‧ 7 月前 檢舉

@sunallen
請問您的意思是表單在傳遞到SaveAndSend時包成json嗎?

0
allenlwh
iT邦新手 1 級 ‧ 7 月前
var RequisitionID=$('[name=RequisitionID]').val();
var Identify=$('[name=Identify]').val();
	$.ajax({
		type: "POST",
		url: "DelDetailD.aspx",
		async: false,
		data:{
		RequisitionID:RequisitionID,
		Identify:Identify
		
	}
		,success: function(msg){
	
			if(msg!="true"){
			
				//alert(msg);
			}
		}
	});		
}
allenlwh iT邦新手 1 級 ‧ 7 月前 檢舉
var RequisitionID=$('[name=RequisitionID]').val();
var Identify=$('[name=Identify]').val();
	$.ajax({
		type: "POST",
		url: "DelDetailD.aspx",
		async: false,
		data:{
		RequisitionID:RequisitionID,
		Identify:Identify
		
	}
		,success: function(msg){
	
			if(msg!="true"){
			
				//alert(msg);
			}
		}
	});		
}
0
qpoome
iT邦新手 5 級 ‧ 6 月前

我也是新手 如果你不介意整頁post 回去的話
可以參考:http://www.w3schools.com/html/html_forms.asp

我要發表回答

立即登入回答