Action怎样获取页面的值呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Action怎样获取页面的值呢?相关的知识,希望对你有一定的参考价值。

业务需求:在页面获取类别ID,开始索引,结束索引;Action根据这些变量去数据库查询。

用隐藏域只能是在表单提交后才能获取它们的值,我想不用表单怎么为formbean的这些变量在页面赋值呢
ajax 我不会啊 平时你们是怎么做的呢 业务:在页面为formbean中的类别变量赋值,然后action根据这个id去查询改类别下面的所有新闻 大侠们 你们平时是怎么弄的呢

那谁可以帮我写个ajax的 ajax可以实现不提交到服务器端的简单表单数据处理 200分相送了

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

如果使用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怎样获取页面的值呢?的主要内容,如果未能解决你的问题,请参考以下文章

表单提交后怎么样才能不清空文本框和下拉框的值呢?

struts2 action怎么从页面取值传值

怎么把action中的值传到jsp页面

JavaScript怎样获取select标签当前选择的值呢?

java中用a标签提交,后台怎样获取页面文本框的值

struts2 jsp如何获取action值