首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

js怎么获得struts表单中的值(有答案直接给分)

2011-12-23 
js如何获得struts表单中的值(有答案直接给分)jsp:html:formaction /Logon.do method POST tableb

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要控制的

热点排行