2012-01-20 32 views
0

我有一個多頁表單,我需要從表單中獲取所有數據。我知道我可以手動做到這一點,但我想要一個更動態的方法。是的,如果可能的話,請給我一個只使用JavaScript的答案。以多頁/多部分形式獲取所有html表單數據

編輯... 對不起,如果它有點模糊。 我想要做的是向用戶展示他輸入的所有數據,所以我認爲這是客戶端而不是服務器端。另外,我現在已經安裝了PHP。所以,如果有PHP方式,那也沒關係。

它是多頁面的,因爲用戶將從不同的網頁跳轉,因爲如果用戶只在一個頁面中輸入所有數據將會很長。嗯......一個例子是稅務申報表格。或者進行某種人口普查。這就是表單的長度和我得到的數據量。所以,我想知道一個動態的方式來做到這一點。

我還沒有完成。感謝下面的評論。我已經嘗試過,有些是有益的。

+0

你可以使用jQuery嗎? – BigMike

+0

你想做什麼?獲取所有數據並將其發佈到php網站? – Grrbrr404

+0

是的,這就是我想要做的,但因爲我現在沒有一個wampp服務器(我的互聯網連接速度和地獄一樣慢),我正在尋找一個JavaScript解決方案...是的,我可以使用jQuery – Jinnean

回答

1

好吧,我想我已經解決了我的問題。這是我做到的。

首先,我沒有使用多個頁面,而是使用隱藏的div,並在用戶單擊下一頁並隱藏當前窗體時使其可見。

然後,我瞭解到,我可以通過使用此代碼訪問所有的數據:
var value = document.forms[formname].elements[index].value;
並把它在一個循環內

,然後通過處理這一切:

<?php 
if (!empty($_POST['form1'])) { 
    //do some sever-side processing and validation; 
} 

if (!empty($_POST['form2'])) { 
    //do some sever-side processing and validation; 
} 

..... 
?> 

感謝所有幫助順便說一句。

0

與jQuery的serialize你可以從一個形式讓每一個領域,然後將其與ajax

+0

你可以做到沒有jquery – Grrbrr404

+0

如何解析串行化方法中的字符串並逐個獲取 – Jinnean

+0

「解析」你的意思是「訪問」它們?在服務器網站與PHP或客戶與JS? – Grrbrr404

1

發送到PHP腳本試試這個

$.post("destination_site.php", $("form").serialize()); 

它選擇它是網頁上的所有「形式」標籤執行,然後序列化的數據發佈到「destination_site.php」

在你的腳本的網站,你可以用$_POST['name_of_input_element']

訪問它們

如果您想訪問客戶端網站上的輸入元素,則不需要發佈它們。 使用此訪問您的網站的任何形式的所有輸入元素

$.each("form :input", function(index, value) { 
    // show message box of input value 
    alert($(this).val()); 
}); 
+0

哦,試了這個......它幫助了我很多 – Jinnean

+0

是啊,對不起。 現在,關閉以改善頁面的視覺效果。 Web開發真的很麻煩。 – Jinnean