如何将值从javascript传递到HTML?

时间:2013-01-03 10:57:38

标签: javascript html ajax

我有两个文件,比如

DataProcesser.js

var FROM;
 var TO;
var CONTECT;

function getValues(fromAdd,toAdd,ContectText){
 alert("method called");
  FROM=fromAdd;
  TO=toAdd;
  CONTECT=ContectText;
 alert("values are " + FROM +" "+ TO +" "+ CONTECT);
 window.open('email.html','newwindow');
}

EMail.html

在身体上载

function loadData(){
    document.getElementById('lblFrom').innerHTML =window.FROM;
    document.getElementById('lbTo').innerHTML = window.TO;
    document.getElementById('lblfrom1').innerHTML = window.FROM;
    document.getElementById('lblto1').innerHTML = window.TO;
    document.getElementById('txtAreaBody').value =window.CONTECT;

}

我怎样才能将自己传递给EMail.html?我在Body Onload中编写了loadData函数。结果得到未定义的值。从另一个HTML中调用getvalues函数。

2 个答案:

答案 0 :(得分:0)

每个HTML文档都有自己的Javascript上下文。因此,您无法从另一个HTML页面访问变量。

但是你可以做的是将这些变量作为URL的一部分进行传输。您可以使用?-operator将URL与传递给它的数据分开。例如:

email.html?from=somewhere&to=somewhereElse&connect=somevalue

网络服务器只会将?作为文件名的一部分解释,其余的是传递给它的GET参数。因此,网络服务器将返回文件email.html。在该页面上,您可以访问完整的URL并使用变量document.location解析参数。

另一个选项是using cookies。但请记住,有些用户禁用了cookie(比禁用javascript的用户更多),所以你不应该依赖它们来获取你网站的任何主要功能。

然而,最好的方法是将所有数据存储在服务器上,并使用会话处理机制,该机制在可用时使用cookie,并使用GET参数作为后备,为每个用户分配会话ID。这一点最重要的优点是用户无法轻易篡改数据。但是,这不能单独使用客户端javascript,因为它需要服务器端脚本。

答案 1 :(得分:0)

所以变量FROM,TO,CONTECT在getValues()中有时被设置。然后调用loadData(),以便加载的HTML使用您获得的值。所以我假设getValues()和loadData()在同一个JS上下文中,变量可以直接访问。

更改此代码:

     document.getElementById('lblFrom').innerHTML =window.FROM;

      document.getElementById('lblFrom').innerHTML = FROM;

对其他变量做同样的事情。

PS:发布代码时,请同时指定流程。发布随机代码段不会帮助我们理解问题。