如何在未选中复选框时显示Javascript确认框,然后如果用户选择取消,请选中复选框?

前端之家收集整理的这篇文章主要介绍了如何在未选中复选框时显示Javascript确认框,然后如果用户选择取消,请选中复选框?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个带有三个复选框的小html表单,每行一个.我想在用户取消选中该框时显示一个javascript确认框,然后如果用户选择取消,则复选框保持选中状态.我搜索过这个网站和其他一些网站,但几乎所有内容都与被检查的复选框有关,就好像他们必须同意某些条款或内容一样.我是Javascript的新手,但我试图根据我应该看起来的样子制作一个函数,但它不起作用.

这是我的表格:

Box OneBox" name="check1" checked="checked" onchange="cTrig(this.name)">Box TwoBox" name="check2" checked="checked" onchange="cTrig(this.name)">Box ThreeBox" name="check3" checked="checked" onchange="cTrig(this.name)">

这是我尝试过的功能,但不起作用:

function cTrig(name) {
  if (name.checked == true) {
    confirm("Are you sure you want to do this?");
    return true;
  } else {
    return false;
  }
}

这是一个jsfiddle

我更喜欢Javascript中的一些东西,因为我想在进入jquery之前更熟悉那种语言,但如果必须在jquery中完成,那就没问题了.干杯.

最佳答案
试试这个方式

Box OneBox" name ="check1" id="check1" checked='checked' onchange="cTrig('check1')">Box TwoBox" name="check2" id="check2" checked='checked' onchange="cTrig('check2')">Box ThreeBox" id="check3" name="check3" checked='checked' onchange="cTrig('check3')">

通过使用元素ID

function cTrig(clickedid) { 
      if (document.getElementById(clickedid).checked == true) {
        return false;
      } else {
       var Box= confirm("Are you sure you want to do this?");
        if (Box==true)
            return true;
        else
           document.getElementById(clickedid).checked = true;

      }
    }

Working Demo

使用名称

function cTrig(clickedid) { 
      if (document.getElementsByName(clickedid)[0].checked == true) {
        return false;
      } else {
       var Box= confirm("Are you sure you want to do this?");
        if (Box==true)
            return true;
        else
           document.getElementsByName(clickedid)[0].checked = true;

      }
    }

Demo Using element name

原文链接:https://www.f2er.com/html/426426.html

猜你在找的HTML相关文章