2017-04-11 70 views
0

我想捕獲通過表單從一個頁面發送到另一個html頁面的輸入變量,並獲得這些值作爲JavaScript變量。這可以做到嗎?從HTML表單獲取值作爲JavaScript變量

這是我的形式;

<form action='another.html' id='form' data-ajax='false'> 
<input id='sent_by' value='tom'/> 
<input type='submit' value='Submit'/> 
</form> 

而在我的another.html中,我試圖將值作爲;

var sent_by = $.session.get("sent_by"); 

但我無法獲得值。所有的幫助表示讚賞。

+0

你從哪裏得到'$ .session.get'?據我所知,這不是jQuery或jQuery Mobile的一部分。 –

+0

這個**特殊的**表單將使用GET發送,這意味着表單參數最終在目標頁面的查詢字符串中(例如'another.html?sent_by = tom&submit = Submit')。 [這個問題的答案](http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript)告訴你如何得到它們。你在問什麼? –

+0

@ T.J.Crowder,我正在嘗試其他網站的一些例子 –

回答

2

您可以使用瀏覽器的localStorage來實現此目的。之前提交和去其他頁面專賣店形式的所有值在localStorage的,您可以訪問它的另一頁:

Page1.html

字段名稱=「名稱」 <input type="text" name="name" id="name" />

讀出的值,並將其存儲到localStorage的

localStorage.setItem('name', document.getElementById('name').value);

等。 您可以在JavaScript中創建一個函數,在提交之前/之前將表單中的所有字段保存在localStorage中。

到其他網頁上閱讀這些值:

Page2.html 值存儲密鑰名稱可以使用得到下面的JavaScript:

localStorage.getItem("name"); 

注意

的第1頁.html和page2.html應該位於同一個域中,以便您訪問localStorage。

瞭解更多關於在的localStorage https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage

+1

謝謝@Shakti,你剛把我介紹給localStorage。我從來沒有真正嘗試過。只需要去閱讀更多關於它的內容,因爲我可能會繼續需要它。 –

+0

@DouglasHosea我很高興能幫上忙。 –

0

您在使用Window.localStorage試過嗎?它與sessionStorage類似,但沒有到期日期。所以,一旦瀏覽會話結束,一定要清除它。

0

我認爲@Shakti Phartiyal提供的答案可能是我可能添加的最實用和最可愛的技巧。我寫這篇文章的主要原因是因爲我也採用了很長的使用javascript來傳遞這種信息。結果令我困惑,PHP對於JavaScript專門執行的某些任務有多強大。 (是的,我知道一些JavaScript的嚮導可以做到這一切,我只是談論基本的編程壽)。所以,如果你想知道通過這周圍的PHP方式:

修改後的HTML表單:

<form action='another.html' id='form' data-ajax='false' method='post'> 
<input id='sent_by' value='tom' name='uname'/> 
<input type='submit' value='Submit'/> 
</form> 

,然後在「another.php」你有這個從形式檢索輸入:

<?php 
$uname= htmlspecialchars($_POST['uname']; 
?> 

太好了。但如何使這個PHP變量爲JavaScript? 啊,有趣的部分。你會用php寫javascript到你的網頁 - 你做這樣的事情:

var uname = "<?php echo $uname; ?>";