A页面获取到B页面的值

A页面获取到B页面的值,第1张

如果都是html页面的话,就实现不了。因为两个页面要相互传值。只有动态页面才能处理请求。

不好意思,我刚查了一下,仅用js也可以实现,它是分隔字符串实现的,代码如下:

此处使用JS方式实现静态页之间值传递,其实很简单,废话不多说,见代码,先看indexhtml页代码,如下:

在body标签之间 加此行代码

<form action=”ahtmld1=123&d2=你好” method=”post” name=”f1″ id=”f1″>< input type=”submit” name=”s1″ id=”s1″ value=”提交”/>< /form>

然后,我我们新建ahtml新页,同样在body标签之间加此行代码,如下:

<script type=”text/javascript”>var tmpArr; var QueryString; var URL = documentlocationtoString(); if(URLlastIndexOf(“”)!=-1){ QueryString= URLsubstring(URLlastIndexOf(“”)+1,URLlength); tmpArr=QueryStringsplit(“&”);for (i=0;i<=tmpArrlength – 1;i++) { documentwrite(“参数为:” + tmpArr[i] + “<br/>”); } }

else{ QueryString = “”; }< /script>

实现很简单

一:向目标页面发送数据(如你的Bhtml向Ahmtl发送“你好”),代码就是<form>标签的action属性,比喻这样传参:action=”ahtmla1=你好”

二:在目标页面接收参数,并解析出参数值,如js代码:

var URL = documentlocationtoString(); if(URLlastIndexOf(“”)!=-1){ QueryString= URLsubstring(URLlastIndexOf(“”)+1,URLlength); tmpArr=QueryStringsplit(“&”);for (i=0;i<=tmpArrlength – 1;i++) { documentwrite(“参数为:” + tmpArr[i] + “<br/>”); } }

<MARQUEE id=notice onmouseout=noticestart() scrollAmount=1 scrollDelay=8 direction=up height=150>

<p>     <span class="STYLE1">☆提示:隆重推出网上电子<br>

     报告厅</span></p>

<p>     ☆提示:公共检索系统向全<br>     校读者(包括教工)开放

</p><p>     ☆提示:超星数字图书正式<br>

     发布使用

</p><p>     ☆提示:书生图书数据库正<br>

     式发布使用

</p><p>     ☆提示:博看网正式开放<br>

     使用

</MARQUEE>

就是从另外一个页面修改这里内容。。然后另外一个页面可能有一个文本框,在文本框里输入内容传到当前页面来。

你是想做到JSP页面不加入<%%>这种小脚本吧,那可以采用EL表达式,或者一些框架的输出方式,通常用EL就可以了,因为EL就是用来运算和表达的。后台获取数据以后,这个数据可以是一个简单类型,也可以是一个对象,如果是同一个请求下的,也就是request对象没有变,那么可以用这个存储,否则要用session存储,存储数据的对象是JSP内置的对象,有page,request,session,application等,每个对象都能存储数据,但是作用于不同,page针对当前页面,request针对一个请求,session针对一个会话,application针对整个应用程序。 通常session就可以了。 比如后台获取一个String的name值,那么你可以sessionsetAttribute("name",name); 那么JSP直接可以EL这样写:${sessionScopename} 获取这个值,这里的name是后台封装的键的名,不是后面变量name的名。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

</HEAD>

<script>

windowonload = function(){

var ele = documentforms['frm']elements;

for(var i=0;i<elelength;i++){

if(ele[i]typetoLowerCase()=="radio" && ele[i]checked == true){

alert(ele[i]value)

}

}

}

</script>

<BODY>

<form name="frm">

<input value="text" />

<input type="button" value="button"/>

<input type="password" value="password"/>

<input type="reset" value="reset"/>

<input type="submit" value="submit"/>

<textarea>textarea</textarea>

<input type="radio" checked name="rad" value="r1">r1

<input type="radio" name="rad" value="r2">r2

</form>

</BODY>

</HTML>

你的需求不想在表单提交后获取他们的值 如果不用ajax是不可能的 所以学习一下ajax吧

如果使用ajax你必须使用javascript

首先为你想获得的内容设一个事件源 比如你在一个文本框内输入一些内容 不通过提交表单而访问struts的action 那么可以给文本框加一个 id="txt1" onblur="fn()"//失去焦点事件 访问javascript里的fn()函数

那么我们可以在fn()函数里 *** 作

<script language="javascript" type="text/javascript">

function fn(){

var id=documentgetELementById("txt1")value;//获得文本框内容

var request = new XML>

url传值是使用iso8859-1的编码格式

所以

String name=new String(requestgetParameter("name")getBytes("iso8859_1"));

这样应该就可以了

如果希望指定需要转换成的编码,可以这样写

String name=new String(requestgetParameter("name")getBytes("ISO8859_1"),"UTF-8");

额外提醒:注意传入的值是个null

以上就是关于A页面获取到B页面的值全部的内容,包括:A页面获取到B页面的值、另一个html页面怎么获取当前html页面的值、如何获取数据库的数据并实时返回web前端等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9699793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存