jsp 客户端脚本的方法选择
getElementById 和getElementByname有什么区别 我的实际jsp页面很多是没有id的
<input type="text" name="userName" value="the return data is null."/>
是没有id的 ,
问如何选择这2个方法 (getElementByname的结果不一定对)另外还有很多的
<input type="radio" name="radiobutton1" value="UserName" />
<input type="radio" name="radiobutton2" value="UserName" />
<input type="radio" name="radiobutton3" value="UserName" />
<input type="radio" name="radiobutton4" value="UserName" /> <input type="radio" name="radiobutton1" value="familyName" />
<input type="radio" name="radiobutton2" value="familyName" />
<input type="radio" name="radiobutton3" value="familyName" />
<input type="radio" name="radiobutton4" value="familyName" />
<input type="radio" name="radiobutton1" value="givenName" />
<input type="radio" name="radiobutton2" value="givenName" />
<input type="radio" name="radiobutton3" value="givenName" />
<input type="radio" name="radiobutton4" value="givenName" /> 这个肯定是选择getElementByname了 ,那么具体如何写?
getElementById 和getElementByname有什么区别 我的实际jsp页面很多是没有id的
<input type="text" name="userName" value="the return data is null."/>
是没有id的 ,
问如何选择这2个方法 (getElementByname的结果不一定对)另外还有很多的
<input type="radio" name="radiobutton1" value="UserName" />
<input type="radio" name="radiobutton2" value="UserName" />
<input type="radio" name="radiobutton3" value="UserName" />
<input type="radio" name="radiobutton4" value="UserName" /> <input type="radio" name="radiobutton1" value="familyName" />
<input type="radio" name="radiobutton2" value="familyName" />
<input type="radio" name="radiobutton3" value="familyName" />
<input type="radio" name="radiobutton4" value="familyName" />
<input type="radio" name="radiobutton1" value="givenName" />
<input type="radio" name="radiobutton2" value="givenName" />
<input type="radio" name="radiobutton3" value="givenName" />
<input type="radio" name="radiobutton4" value="givenName" /> 这个肯定是选择getElementByname了 ,那么具体如何写?
就可以用getElementById了
但是你这里可能不好,因为你的name很多是相同的,这样就会把所有名字相同的给取出来,比如getElementByname("radiobutton1"),那么你就取出了3个值
所以最好设个id,因为id是唯一的,这样的话通过getElementById就能取到你想要的值。
可以改成
<input id="userid" type="text" name="userName" value="the return data is null."/>
抱歉 这个问题跟之前有不同 更具体了
加了
<input type="radio" name="radiobutton1" value="givenName" />
<input type="radio" name="radiobutton2" value="givenName" />
<input type="radio" name="radiobutton3" value="givenName" />
<input type="radio" name="radiobutton4" value="givenName" />
getElementByname("radiobutton1")--每次取3个
请问如何写这个脚本
也就是取出,首先判断是否全空?
如果非空,把值取出来 (我也在写)
{
if(document.getElementsByName("radiobutton1")[i].checked=true)
info="userName"; }不能通过
<input name="radio1" type="radio" value="2">
<input type="button" onClick="checks()">JScript code
function checks()
{
var radios=document.getElementsByName("radio1");
for(var i=0;i<radios.length;i++)
{
if(radios[i].checked==true)
{
alert(radios[i].value);
}
}
}获取单选按钮(radio)组的值和修改选中项
看到很多帖子里说js获取单选按钮(radio)组的值可以直接用document.getElementById("oper").value,虽然跟单选按钮组一样的下拉列表(也是列表项的数组)也是一个数组,用这种方式可以获到下拉列表的值,但是单选按钮组却获不到所选的值。仔细研究了下,总结如下:与下拉列表不同,单选按钮须用this.form.oper或者document.getElementsByName('oper')方式获取该数组对象,document.getElementById('oper')不能获取该数组对象(select可以)。而且要获取值须通过一循环判断获取,不能直接用.value(select可以)。而要改变单选按钮组的选中项,也须用循环判断改变各个单选按钮的value。测试代码radio.html 如下:=============================================================================<html><head></head><script language="javascript">//求单选按纽的值,适用单选项及多选项。未选返回false;有选择项,返回选项值。function getRadio(oRadio){var oRadioLength= oRadio.length;var oRadioValue = false;//alert("oRadioLength:["+oRadioLength+"]");if (oRadioLength== undefined){ if (oRadio.checked){ oRadioValue = oRadio.value; }}else{ for (i=0;i<oRadioLength;i++){ //alert("oRadio["+i+"]:"+oRadio[i].checked+"/"+oRadio[i].value); if (oRadio[i].checked){ oRadioValue = oRadio[i].value; break; } }}return oRadioValue;}//方法改进://求单选按纽的值,传radio名字作为参数。未选返回false;有选择项,返回选项值。function getRadioValue(name){var radioes = document.getElementsByName(name);for(var i=0;i<radioes.length;i++){ if(radioes[i].checked){ return radioes[i].value; }}return false;}//通过值修改所选中的单选按钮function changeRadio(oRadio,oRadioValue){ //传入一个对象for(var i=0;i<oRadio.length;i++) //循环{ if(oRadio[i].value==oRadioValue) //比较值 { oRadio[i].checked=true; //修改选中状态 break; //停止循环 }}}//改进://通过值修改所选中的单选按钮function setRadio(name,sRadioValue){ //传入radio的name和选中项的值var oRadio = document.getElementsByName(name);for(var i=0;i<oRadio.length;i++) //循环{ if(oRadio[i].value==sRadioValue) //比较值 { oRadio[i].checked=true; //修改选中状态 break; //停止循环 }}}</script><body><form name="frm"><input type="radio" name="oper" value="agree" >同意</td><input type="radio" name="oper" value="downchange" checked>下发修改</td><input type="radio" name="oper" value="refuse">拒保</td><input type="radio" name="oper" value="report" >上报 </td><br>alert('result:'+getRadio(this.form.oper))<input type="button" name="test1" value="按钮1" onclick="alert('result:'+getRadio(this.form.oper));"> <br>alert('result:'+getRadio(document.getElementById('oper')))<input type="button" name="test2" value="按钮2" onclick="alert('result:'+getRadio(document.getElementById('oper')));"><br>alert(this.form.oper.value)<input type="button" name="test3" value="按钮3" onclick="alert(this.form.oper.value);"><br>changeRadio(this.form.oper,"上报")<input type="button" name="test4" value="按钮4" onclick="changeRadio(this.form.oper,'report');"><br><br><br><br> <select id="slt"><option value="agree" >同意</option><option value="downchange" selected>下发修改</option><option value="refuse">拒保</option><option value="report">上报</option></select><br>alert(this.form.slt.value)<input type="button" name="test5" value="按钮5" onclick="alert(this.form.slt.value);"><br>document.getElementById('slt')[2].innerText)<input type="button" name="test6" value="按钮6" onclick="alert(document.getElementById('slt')[2].innerText);"></form></body>
以通过事件的触发者this,判断点击哪一个对象。参考如下代码:HTML code <input type="radio" name="attr" value="1" id="attr1"> <label for="attr1">RMB </label> <br /> <input type="radio" name="attr" value="2" id="attr2"> <label for="attr2">MY </label> <br /> <input type="radio" name="attr" value="3" id="attr3"> <label for="attr3">YB </label> <script type="text/javascript"> function aa() { var radio = document.getElementsByName("attr"); for (var i = 0; i < radio.length; i++){ radio[i].onclick = function() { bb(this.value); } } } function bb(i) { alert(i); } aa(); </script>
// alert("dd");
var inputvalue=document.getElementById("a").value;
if(inputvalue)
alert(inputvalue);
else
alert("ok");
//var radio1=document.getElementsByName("radiobutton1");
var info1="";
var info2="";
var info3="";
var info4="";
var radios=document.getElementsByName("radiobutton1");
info1=fc(radios);
if(info1!="")
alert(info1);
window.location="1.jsp?userName="+inputvalue;
form1.submit();
}
function fc(radios)
{
alert("dd");
var info="";
for(var i=0;i <radios.length;i++)
{
if(radios[i].checked==true)
{
info=radios[i].value;
}
}
return info;
}
</script>