无法从文本框传递值以在另一个HTML页面中显示它

时间:2014-07-18 13:28:28

标签: javascript

我已经使用编辑框

为这些创建了一个HTML文件
<form name="form1" action="form1.html"  method="get">    
  <img src="index.jpeg" alt="Register" width="100" height="100" align="middle"><br>
  <b>First name: </b><input type="text" name="firstname" id="fname"><br>    
  <b>Last name: </b><input type="text" name="lastname"><br>    
  <b>Password: </b> <input type="password" name="pwd"><br><br>

我无法将此值传递给此变量和ID,并将其显示在另一个HTML文件中

function func () {    
  var firstname = document.form1.fname.value;     
  document.getElementById("demo").innerHTML=firstname;   

  var lastname=document.form1.lname.value;    
  document.getElementById("demo").innerHTML=lastname;    
}

请帮助我

1 个答案:

答案 0 :(得分:0)

您不能使用类似Javascript的页面之间传递值。原因是Javascript是一种客户端脚本语言,这意味着它在用户的浏览器中运行,并且没有与服务器的交互(除非你使用的是AJAX,否则你不是)。 / p>

为了在页面之间传递变量和数据,您需要使用像PHP这样的服务器端语言。

将表单提交到要在其上显示的页面,然后使用以下代码:

<?php
    $firstName = $_GET["firstname"];   // set firstname to the name field of your input
?>

这会使用表单获取您传递给该页面的值。如果您使用POST方法提交表单,则需要使用$_POST["firstname"]代替$_GET

然后您可以使用以下方式将其放在页面上:

<?php
    echo $firstName;
?>

修改

如下所述,@ AlessandroNiciforo是正确的。如果您使用的是GET,那么您可以在下一页使用Javascript检索数据。这是因为GET会将数据附加到下一页的网址上。

根据建议here,请使用以下内容:

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,     function(m,key,value) {
        vars[key] = value;
    });
   return vars;
}

并用

调用它
var first = getUrlVars()["id"];
var second = getUrlVars()["page"];

请注意,如果您使用的是敏感数据(密码,地址等),则需要使用POST代替GETPOST将保留服务器端的所有数据。这可以防止恶意用户获取该敏感信息。