js如何获得struts表单中的值(有答案直接给分)
jsp:
<html:form action= "/Logon.do " method= "POST ">
<table border= "0 ">
<tr>
<td> 姓名: </td>
<td> <html:text property= "userName " /> </td>
</tr>
<tr>
<td> 密码: </td>
<td> <html:password property= "userPws " /> </td>
</tr>
<tr>
<td> <html:submit property= "submit " value= "submit " onclick= "sub() " /> </td>
<td> <html:cancel /> </td>
</tr>
</table>
</html:form>
<script type= "text/javascript ">
function sub(){
var ch=document.form[0].element[1];
alert(ch);
}
</script>
想获得姓名后面test文本狂的值,但是就是获得不了. 请教该怎么写.
要想获得 <html:select property= "select ">
<html:option value= "1 "> 1 </html:option>
</html:select> 中的值和是或的test的方法一样吗.
[解决办法]
<html:form action= "/admin/Users.do?action=create " method= "post " focus= "loginName " onsubmit= "return validation(this) " >
<table width= "100% " height= "87 " border= "0 " cellpadding= "0 " cellspacing= "1 " bgcolor= "#0066CC ">
<tr>
<td height= "85 " valign= "top " bgcolor= "#FFFFFF ">
<table width= "100% " height= "80 " border= "0 " cellpadding= "4 " cellspacing= "1 " bgcolor= "#FFFFFF ">
<tr bgcolor= "#E2E9FA ">
<td width= "16% " height= "20 " align= "right "> <strong> 用户登陆名 </strong> : </td>
<td width= "84% "> <html:text property= "loginName " > </html:text> </td>
</tr>
</table> </td>
</tr>
</table>
<br>
<table width= "355 " border= "0 " align= "center " cellpadding= "0 " cellspacing= "0 ">
<tr>
<td width= "177 ">
<html:submit property= "submit " value= "确 定 "> </html:submit> </td>
</tr>
</table> <br>
</html:form>
×××form 中触发submit事件,即点击submit后执行onsubmit= "return validation(this) " ,
并传入this,在js代码中可以通过this参数获得其属性:
<script language= "javascript ">
function validation(frm)//实现submit事件方法,frm为传入参数this
{
if(frm.loginName.value== " "||frm.loginName.value.length == 0){
//frm.loginName.value可以理解为this下的属性liginName的值
//frm.loginName.value.length可以理解为值的长度
//判断如果值等于空或者值的长度等于空,则证明没有填写登录名
alert( "请输入用户登陆名 ");
frm.loginName.focus();//此处为报出异常后光标聚焦到loginName文本
return false;//函数需要返回值,true为继续向下执行,false为停止向下执行
}
}
</script>
类似的获得页面标签属性值的方法很多,时间问题就说到这。
[解决办法]
this.form.name.value,我一直都这样用的没有问题啊,要不你就写一个js方法,把this.form作为参数传进去,在方法里面处理,没有问题的。
[解决办法]
form中用一个id,然后用DOM中的getElementById()来获取其中的值
[解决办法]
lz的问题属于比较基础的问题,建议先学习下DOM的基本操作再回头来自己试试!
1\页面form,form中递交的值以数组的形式存在,通过form数组取到页面元素的值,或者form.name.value的方式,
2\document.getElementById().value方式取得,这种方式也被叫做$()方式,见prototype.js框架
3\还可以通过解析页面文件的方式获得,见DOM方法
...方法是很多的,具体可以按照需求来定
注:如
<html:form action= "/mainAction.do " enctype= "multipart/form-data " onsubmit= "return checkForm() ">
<html:hidden property= "opAction "/>
<html:select property= "entity.thing " onchange= "create_Div() ">
<html:option value= " "> --- </html:option>
<html:optionsCollection name= "title " label= "titleName " value= "idno "/>
</html:select>
取的值为mainForm[ 'entity.thing '].value,注意一下该写法,在struts标签中,页面的id,name都是保留项,要根据bean中的东西来命名
[解决办法]
Struts标签生成的HTML控件名不是Struts里面定义的名字,看一下生成的HTML源码,就可以知道生成的控件名了,那个HTML控件名,才是JS要控制的