求教一个比较简单的单选按钮的问题,今天为了这个问题居然来加班,唉!希望高手帮帮忙!

BlueSuperMan 2003-09-07 03:11:58
//以下是原码有两个函数,这两个函数该怎么写,小弟愚笨,希望大虾们赐教!!
<HTML><HEAD>
<BODY>
<script language='javascript'>
function checkRadio(strvalue)//参数可代可不代
{
1.//如果一个组的按钮被点击若针对这个按钮在点击一次则无效,
//点击其他按钮后在点击这个按钮就有效,
//也就是一个单选按钮不能够连续 的点击
}
function save()
{
2.//点击保存之后求出两个组的被选中的单选按钮的值
alert('R1组的值:'+r1.value+'R2组的值:'+r2.value)
}
</script>
<P>
<INPUT type=radio name=r1 value=0 checked onclick='checkRadio(0)'>
<INPUT type=radio name=r1 value=1 onclick='checkRadio(1)'>
<INPUT type=radio name=r1 value=2 onclick='checkRadio(2)'>
</P>
<P>
<INPUT type=radio name=r2 value=0 checked onclick='checkRadio(0)'>
<INPUT type=radio name=r2 value=1 onclick='checkRadio(1)'>
<INPUT type=radio name=r2 value=2 onclick='checkRadio(2)'>
</P>
<P><INPUT type=button value=保存 onclick='save()'></P>
</BODY></HTML>
...全文
95 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueSuperMan 2003-09-09
  • 打赏
  • 举报
回复
更正:
to manyou(他山之石):
我的这个单选按钮组不是规定的数量,你那样作就是将单选的按钮就规定为只有两组了,是不是用数组做可以呢。如果可以请你指点,谢了
BlueSuperMan 2003-09-09
  • 打赏
  • 举报
回复
to JavaBoyCaoJi(老曹):
你的方法如果在一个单选按钮上点击一次他没有触发一个事件,可是连续点击还是会产生事件的。
to manyou(他山之石):
我的这个单选按钮不是规定的数量,你那样作就是将单选的按钮就规定为只有两个了,是不是用数组做可以呢。
to descreekert() ( ):
你这种效果不错,可是不是我想要的
不管怎么说先谢谢各位了!
形印声传 2003-09-08
  • 打赏
  • 举报
回复
问题解决的差不多了~~
JavaBoyCaoJi 2003-09-07
  • 打赏
  • 举报
回复
<HTML><HEAD>
<BODY>
<script language='javascript'>
old_obj = "";
function checkRadio(strvalue, obj)//参数可代可不代
{
if (obj != old_obj) {
old_obj = obj;
} else {
if (obj.checked == true) {
obj.checked = true;
} else {
obj.checked = false;
}
old_obj = "";
}
1.//如果一个组的按钮被点击若针对这个按钮再点击一次则无效,
//点击其他按钮后在点击这个按钮就有效,
//也就是一个单选按钮不能够连续 的点击
}
function save()
{
r1_count = document.all.r1.length;
r2_count = document.all.r2.length;
for (var i=0; i<r1_count; i++) {
if (document.all("r1")[i].checked == true) {
alert("组1被选中的值为" + document.all("r1")[i].value);
}
}
for (var i=0; i<r2_count; i++) {
if (document.all("r2")[i].checked == true) {
alert("组2被选中的值为" + document.all("r2")[i].value);
}
}
2.//点击保存之后求出两个组的被选中的单选按钮的值
}
</script>
<P>
<INPUT type=radio name=r1 value=0 checked onclick='checkRadio(0,"r1")'>
<INPUT type=radio name=r1 value=1 onclick='checkRadio(1,"r1")'>
<INPUT type=radio name=r1 value=2 onclick='checkRadio(2,"r1")'>
</P>
<P>
<INPUT type=radio name=r2 value=0 checked onclick='checkRadio(0,"r2")'>
<INPUT type=radio name=r2 value=1 onclick='checkRadio(1,"r1")'>
<INPUT type=radio name=r2 value=2 onclick='checkRadio(2,"r1")'>
</P>
<P><INPUT type=button value=保存 onclick='save()'></P>
</BODY></HTML>
descreekert 2003-09-07
  • 打赏
  • 举报
回复
我想你要的是这个效果吧
<HTML><HEAD>
<BODY>
<script language='javascript'>
var gt
function checkRadior1(strvalue)//参数可代可不代
{
r1.value=strvalue;
for(i=0;i<3;i++) {r1[i].disabled=1;r2[i].disabled=0;}
}
function checkRadior2(strvalue)//参数可代可不代
{
r2.value=strvalue;
for(i=0;i<3;i++) {r2[i].disabled=1;r1[i].disabled=0;}
}
function save()
{

alert('R1组的值:'+r1.value+" "+'R2组的值:'+r2.value)
}
</script>
<P >
<INPUT type=radio name=r1 value=0 onclick='checkRadior1(0)'>
<INPUT type=radio name=r1 value=1 onclick='checkRadior1(1)'>
<INPUT type=radio name=r1 value=2 onclick='checkRadior1(2)'>

</P>
<P>
<INPUT type=radio name=r2 value=0 onclick='checkRadior2(0)'>
<INPUT type=radio name=r2 value=1 onclick='checkRadior2(1)'>
<INPUT type=radio name=r2 value=2 onclick='checkRadior2(2)'>
</P>
<P><INPUT type=button value=保存 onclick='save()'></P>
</BODY></HTML>
全息宇宙 2003-09-07
  • 打赏
  • 举报
回复
完整的:
<script language='javascript'>
function save()
{
r1_count = document.all.r1.length;
r2_count = document.all.r2.length;
for (var i=0; i<r1_count; i++) {
if (document.all("r1")[i].checked == true) {
alert("组1被选中的值为" + document.all("r1")[i].value);
}
}
for (var i=0; i<r2_count; i++) {
if (document.all("r2")[i].checked == true) {
alert("组2被选中的值为" + document.all("r2")[i].value);
}
}
2.//点击保存之后求出两个组的被选中的单选按钮的值
}


old_obj = "";
function checkRadio(strvalue, obj)//参数可代可不代
{
if (obj == old_obj) { //如果上一次点击的就是这个按钮,那么直接返回
alert("上一次点击的就是这个按钮")
return;
} else {
old_obj = obj;
alert("第一次点击这个按钮")
//以下执行你的代码
}
}

</script>
<P>
<INPUT type=radio name=r1 value=0 checked onclick='checkRadio(0,this)'>
<INPUT type=radio name=r1 value=1 onclick='checkRadio(1,this)'>
<INPUT type=radio name=r1 value=2 onclick='checkRadio(2,this)'>
</P>
<P>
<INPUT type=radio name=r2 value=0 checked onclick='checkRadio(0,this)'>
<INPUT type=radio name=r2 value=1 onclick='checkRadio(1,this)'>
<INPUT type=radio name=r2 value=2 onclick='checkRadio(2,this)'>
</P>
<P><INPUT type=button value=保存 onclick='save()'></P>
i三千 2003-09-07
  • 打赏
  • 举报
回复
<HTML><HEAD>
<BODY>
<script language='javascript'>
function checkRadio(i)//参数可代可不代
{

}
}
function save()
{
var r1,r2;
if (document.form1.r1[0].checked){
r1=0
}
if (document.form1.r1[1].checked){
r1=1
}
if (document.form1.r1[2].checked){
r1=2
}
if (document.form1.r2[0].checked){
r2=0
}
if (document.form1.r2[1].checked){
r2=1
}
if (document.form1.r2[2].checked){
r2=2
}
alert('R1组的值:'+r1+'\n'+'R2组的值:'+r2);
}
</script>
<P><form name="form1" >
<INPUT type=radio name=r1 value=0 checked onclick='checkRadio(0)'>
<INPUT type=radio name=r1 value=1 onclick='checkRadio(1)'>
<INPUT type=radio name=r1 value=2 onclick='checkRadio(2)'>
</P>
<P>
<INPUT type=radio name=r2 value=0 checked onclick='checkRadio(0)'>
<INPUT type=radio name=r2 value=1 onclick='checkRadio(1)'>
<INPUT type=radio name=r2 value=2 onclick='checkRadio(2)'>
</P>
<P><INPUT type=button value=保存 onclick='save()'>
</form>
</P>
</BODY></HTML>
全息宇宙 2003-09-07
  • 打赏
  • 举报
回复
sorry:

<P>
<INPUT type=radio name=r1 value=0 checked onclick='checkRadio(0,this)'>
<INPUT type=radio name=r1 value=1 onclick='checkRadio(1,this)'>
<INPUT type=radio name=r1 value=2 onclick='checkRadio(2,this)'>
</P>
<P>
<INPUT type=radio name=r2 value=0 checked onclick='checkRadio(0,this)'>
<INPUT type=radio name=r2 value=1 onclick='checkRadio(1,this)'>
<INPUT type=radio name=r2 value=2 onclick='checkRadio(2,this)'>
</P>
<P><INPUT type=button value=保存 onclick='save()'></P>
</BODY></HTML>
全息宇宙 2003-09-07
  • 打赏
  • 举报
回复
改:
old_obj = ""; //标志上一次点击的单选框
function checkRadio(strvalue, obj)//参数可代可不代
{
if (obj == old_obj) { //如果上一次点击的就是这个按钮,那么直接返回
return;
} else {
old_obj = obj;
//以下执行你的代码
}
}
全息宇宙 2003-09-07
  • 打赏
  • 举报
回复
<HTML><HEAD>
<BODY>
<script language='javascript'>
old_obj = "";
function checkRadio(strvalue, obj)//参数可代可不代
{
if (obj != old_obj) {
old_obj = obj;
} else {
if (obj.checked == true) {
obj.checked = true;
} else {
obj.checked = false;
}
old_obj = "";
}
1.//如果一个组的按钮被点击若针对这个按钮再点击一次则无效,
//点击其他按钮后在点击这个按钮就有效,
//也就是一个单选按钮不能够连续 的点击
}
function save()
{
r1_count = document.all.r1.length;
r2_count = document.all.r2.length;
for (var i=0; i<r1_count; i++) {
if (document.all("r1")[i].checked == true) {
alert("组1被选中的值为" + document.all("r1")[i].value);
}
}
for (var i=0; i<r2_count; i++) {
if (document.all("r2")[i].checked == true) {
alert("组2被选中的值为" + document.all("r2")[i].value);
}
}
2.//点击保存之后求出两个组的被选中的单选按钮的值
}
</script>
<P>
<INPUT type=radio name=r1 value=0 checked onclick='checkRadio(0,"r1")'>
<INPUT type=radio name=r1 value=1 onclick='checkRadio(1,"r1")'>
<INPUT type=radio name=r1 value=2 onclick='checkRadio(2,"r1")'>
</P>
<P>
<INPUT type=radio name=r2 value=0 checked onclick='checkRadio(0,"r2")'>
<INPUT type=radio name=r2 value=1 onclick='checkRadio(1,"r1")'>
<INPUT type=radio name=r2 value=2 onclick='checkRadio(2,"r1")'>
</P>
<P><INPUT type=button value=保存 onclick='save()'></P>
</BODY></HTML>
BlueSuperMan 2003-09-07
  • 打赏
  • 举报
回复
to windancer(风精灵)
我在每一次的点击都会触发一个事件,如果对同一个按钮点击则在重新的触发这个事件不就是触发两次了吗?
windancer 2003-09-07
  • 打赏
  • 举报
回复
//如果一个组的按钮被点击若针对这个按钮在点击一次则无效,
//点击其他按钮后在点击这个按钮就有效,
//也就是一个单选按钮不能够连续 的点击
=================================================
radio选择框本来就只能点一次,难道连续点击会有特殊功能?
BlueSuperMan 2003-09-07
  • 打赏
  • 举报
回复
高手在哪啊!
BlueSuperMan 2003-09-07
  • 打赏
  • 举报
回复
都快疯了没有人回答我啊。看来是下不了班了。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧