如果都是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前端等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)