<s:select>标签如何验证?用js的方法

jsp代码:<spanclass="label">性别</span><div><div></div><s:selectlist="#{'男':'男','女':'女'}"n... jsp代码:
<span class="label">性别</span>
<div>
<div>
</div>
<s:select list="#{'男':'男','女':'女'}" name="employee.sex" id="empSex" headerKey="0" headerValue=" ---请选择性别---" onchange="empSexChange(this.value)"></s:select>
<div>
<span id="sex"></span>
</div>
</div>
js代码:
/*当鼠标离开性别时,提示内容*/
function empSexChange(){
var name=document.getElementById("empSex");
alert(name.value);
var sex=$("sex");
if(name.value==0||name.value==null){
sex.innerHTML="请选择";
return false;
}else{
sex.innerHTML="ok";
return true;
}
}
我这样写有什么错误吗?或者大家有什么好的方法,贴上来参考一下。谢谢
展开
 我来答
suxueduwang
2013-12-23 · TA获得超过654个赞
知道小有建树答主
回答量:209
采纳率:33%
帮助的人:234万
展开全部
你好,你这样写,有几点建议吧
1、你的方法既然已经有了 this.value 当作参数,就不用再查询 var name 了
直接使用 function empSexChange(mysex) { }
这样的 mysex 就和你的 name.value 是一样的值
2、如上,你的方法少了个参数 function 方法名(参数) 你在调用的时候有参数,所以最好
是写上,不写也不会报错
3、你的 var sex = $("sex") 这个是 property.js 的写法,获得 id = sex 的控件
如果你是 jquery 的话,应该是 var sex = $("#sex");
如果你没有用 property.js 或者 jquery.js 的话,应该是
var sex = document.getElementById("sex");
当然,由于 id 控件在 html 理论上是只能存在一个的,当然你写错了除外
所以在 js 中,如果是根据 id 获取控件的话,也可以直接
sex.innerHTML = ""; 不用写 var sex = ***; 了
但是要确保之前没有定义过 sex 变量
4、修改后如下
function empSexChange(myval){
alert(myval);
// 如果用 property 就用 如下
// var sex = $("sex");
// 如果你之前点一过 sex ,就去掉下面的注释
// var sex = document.getElementById("sex");
if (name.value == 0 || name.value == null) {
sex.innerHTML = "请选择";
return false;
} else {
sex.innerHTML = "ok";
return true;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式