Action怎样获取页面的值呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Action怎样获取页面的值呢?相关的知识,希望对你有一定的参考价值。
业务需求:在页面获取类别ID,开始索引,结束索引;Action根据这些变量去数据库查询。
用隐藏域只能是在表单提交后才能获取它们的值,我想不用表单怎么为formbean的这些变量在页面赋值呢
ajax 我不会啊 平时你们是怎么做的呢 业务:在页面为formbean中的类别变量赋值,然后action根据这个id去查询改类别下面的所有新闻 大侠们 你们平时是怎么弄的呢
那谁可以帮我写个ajax的 ajax可以实现不提交到服务器端的简单表单数据处理 200分相送了
如果使用ajax你必须使用javascript
首先为你想获得的内容设一个事件源 比如你在一个文本框内输入一些内容 不通过提交表单而访问struts的action 那么可以给文本框加一个 id="txt1" onblur="fn()"//失去焦点事件 访问javascript里的fn()函数
那么我们可以在fn()函数里操作
<script language="javascript" type="text/javascript">
function fn()
var id=document.getELementById("txt1").value;//获得文本框内容
var request = new XMLHttpRequest();
var url = "dostruts.do?id="+id; //你要访问的服务器端的地址和参数。比如doStruts.do是你要访问的struts的action
request.open("GET",url,true);
request.onreadystatechange = updatePage; //回调函数
request.send(null);
function updatePage()
if (request.readyState == 4)
if (request.status == 200)
alert(request.responseText);
</script>
在action里就可以int id= request.getparameter("id");//获得文本框的内容 参考技术A <input type="text" name="petName" onblur="check(this)">
<script type="text/javascript">
var request;
function check(str)
var uname=str.value;
var url="epet.do?operate=CheckUser&name="+uname;//这里operate的CheckUser是传递到action中CheckUser()方法中在这个方法用request.getparamter("name")获取
request=createXmlHttpRequest();
request.onreadystatechange=jiuxu;
request.open("get",url,true);
request.send(null);
function createXmlHttpRequest()
if(window.ActiveXObject)
return new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
return new XMLHttpRequest();
function jiuxu()//回调函数
if(request.readyState==4&&request.status==200)
var b=request.responseText;//注:这里需要在action中用输出流打印一个布尔值出来,这里才能获取:如response.print(flag);flag为一个布尔值他会在这里接受
alert("aa");
if(b=="true")
document.getElementById("t1").innerhtml="<font color='red' size='3px'>用户名已经存在</font>";
alert("用户名已经存在");
else
alert("用户名可以使用");
</script>
不用这个的话还可以用ajax中的dwr 这个功能更强大 可以将对象传到action中也可吧对象传到javascript中要的话我给你本回答被提问者采纳 参考技术B 可以写一个js的事件当用户触发事件的时候执行一个方法把表单提交了。
function sub(id)
//触发事件的时候也把id传进来。
document.表单名称.action =''可以把你要的id写到url后面
document.表单名称.submit();
参考技术C formbean是在actionservlet中赋值的,意思就是说必须要提交formbean才会有值,你想不提交就在后台得到值就只有ajax了 参考技术D 可以设置到request里面,我认为这是比较好的了(setAtrribut()和getAtrribut()).
怎样用js取得select下拉列表框内选中的option的value值呢
<select id="myselect">
<option
value="fist">1</option>
<option
value="second">2</option>
<option
value="third">3</option>
</select>
不用select的onchange事件,直接取到已近选中的那个值
单选下拉列表框对象的value属性值就是选中项的value值,因此只需用如下代码即可
var selected_val = document.getElementById(select_id).value;并且,通过操作select下的option也可以得到被选项的value值,方法为:
var sel = document.getElementById(select_id);var selected_val = sel.options[sel.selectedIndex].value;
实例演示如下:
1、HTML结构及javascript代码
<select id="test" onchange="alert(this.value)"><option value="0">options-0</option>
<option value="1">options-1</option>
<option value="2">options-2</option>
</select>
2、效果演示
参考技术A单选下拉列表框对象的value属性值就是选中项的value值,因此只需用如下代码即可
var selected_val = document.getElementById(select_id).value;
并且,通过操作select下的option也可以得到被选项的value值,方法为:
var sel = document.getElementById(select_id);
var selected_val = sel.options[sel.selectedIndex].value;
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
参考技术B document.getElementById("myselect").value追问取不到哦,必须用onchange事件或onclick事件才可以,我想在js中直接得到下拉框内已经选中的那个值得value
追答<script type="text/javascript">function getSltValue()
alert(document.getElementById("myselect").value);
</script><select id="myselect">
<option value="fist">1</option>
<option value="second">2</option>
<option value="third">3</option>
</select>
<input type="button" value="value" onclick="getSltValue()"/>
测试正常,还是说你想要的是 1、2、3?
本回答被提问者采纳以上是关于Action怎样获取页面的值呢?的主要内容,如果未能解决你的问题,请参考以下文章