将文本框的值传递给另一个页面html

时间:2014-03-13 20:14:01

标签: javascript html textbox move

大家好,这可能是一个愚蠢的问题,但如果我打开一个包含文本框的html页面,是否可以将该文本框的值移动到另一个页面上,点击一个按钮?

所以“page1.html”有一个名为“TextboxName”的文本框,名称为“John”的用户类型,单击按钮,然后该页面关闭,“John”移动到“page2.html”上的文本框< / p>

提前感谢任何帮助,这个问题确实困扰了我!

4 个答案:

答案 0 :(得分:1)

尝试以下代码:

Page1.html:

<html>
  <form type=get action="page2.html">
  <table>
    <tr>
    <td>First Name:</td>
    <td><input type=text name=firstname size=10></td>
    </tr>
    <tr>
    <td>Last Name:</td>
    <td><input type=text name=lastname size=10></td>
    </tr>
    <tr>
    <td>Age:</td>
    <td><input type=text name=age size=10></td>
    </tr>
    <tr>
    <td colspan=2><input type=submit value="Submit">
    </td>
    </tr>
  </table>
  </form>
</html>

Page2.html:

<html>
<script LANGUAGE="JavaScript">
  function getParams(){
  var idx = document.URL.indexOf('?');
  var params = new Array();
  if (idx != -1) {
    var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
  for (var i=0; i<pairs.length; i++){
    nameVal = pairs[i].split('=');
    params[nameVal[0]] = nameVal[1];
    }
  }
  return params;
 }
params = getParams();
firstname = unescape(params["firstname"]);
lastname = unescape(params["lastname"]);
age = unescape(params["age"]);
document.write("firstname = " + firstname + "<br>");
document.write("lastname = " + lastname + "<br>");
document.write("age = " + age + "<br>");
</script>
</html>

答案 1 :(得分:0)

这可以做到,但它需要的不仅仅是普通的HTML。 Javascript或PHP可以很容易地完成这样的功能。

请参阅:How to pass variables from one php page to another without form?

或尝试使用javascript + AJAX:http://www.w3schools.com/ajax/ajax_intro.asp

和:http://www.javascripter.net/faq/passingp.htm

您还可以将信息存储在Cookie中并以这种方式访问​​:http://www.javascripter.net/faq/cookies.htm

或只使用angular:http://docs.angularjs.org/guide/databinding

答案 2 :(得分:0)

在page1.html上执行:

function onClickHandler(){
    location.href = 'page2.html?name=' + document.getElementById('TextBoxName').value;
}

然后在page2.html上执行:

function parseQueryString()
{
    var queryDict = {}
    location.search.substr(1).split("&").forEach(function(item) {
        queryDict[item.split("=")[0]] = item.split("=")[1]
    });

    return queryDict;
}

function onLoadHandler(){
    document.getElementById('TextBoxName').value = parseQueryString().name;
}

答案 3 :(得分:0)

这取决于您希望在项目中投入多少精力和工作。

通过querystrings可以实现一个简单但不安全的解决方案。您可以通过HTTP-GET从A传递给任何参数。

因此,很明显,这个方法提供了明文,这种方法不是很安全。任何人都可以在任何给定时间更改输入。结果取决于攻击者的恶意潜力。在这里查看Cross Site Scripting (XSS)的简单介绍。

另一种可能性是通过HTTP-PostSee Specification)。

然后它取决于您使用的是哪个后端。后端从A接收数据并将其呈现给B.