2017-04-11 54 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; ?>";