JavaScript 在选中复选框时通过单击标签进行确认
javascript confirm when checking a checkbox by clicking on the label
我在表单上有一个复选框,可以做一些危险的事情。 因此,我想确保用户在选中此项目时确实确定,但我不想警告他们是否取消选中复选框。
我的问题是,如果他们单击实际复选框取消选中它,但不能取消选中标签的文本,则效果很好。
http://jsfiddle.net/j2ppzpdk/
function askApply() {
if (document.getElementById("apply").checked) {
var answer = confirm("Are you sure about that?");
if (!answer) {
document.getElementById("apply").checked = false;
}
}
}
<form>
<label onclick="askApply();">
<input type="checkbox" name="apply" id="apply" value="1" /> Apply
</label>
</form>
一些注意事项:
- 最好将事件侦听器添加到更改的元素(复选框),而不是其标签。
- 最好听
change
事件而不是click
。例如,可以使用键盘更改复选框。 - 最好避免使用内联事件侦听器。您可以改用
addEventListener
。
document.getElementById('apply').addEventListener('change', function() {
if(this.checked) {
var answer = confirm("Are you sure about that?");
if (!answer) {
document.getElementById("apply").checked = false;
}
}
});
<form>
<label>
<input type="checkbox" name="apply" id="apply" value="1" />
Apply
</label>
</form>
相关文章:
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 在GridView中,当单击复选框时,在网格的同一行中使用JavaScript将标签中的值添加到TextBox
- 如何创建一个表并在单击按钮时插入此标签和文本字段
- JQuery:如何在每次单击时逐个显示段落标签数组
- 如何使Highcharts中的渲染标签始终可见,并且相对于单击或悬停的点仍然可见
- 当用户单击保存按钮时,标签会显示一条消息
- 添加ng单击到highcharts ng柱状图xAxis标签
- 调用函数单击选择标签中的选项
- JQuery:单击范围标签时切换日期选择器
- 将处理程序附加到“a”标签上的单击事件,即使我不单击也会触发
- 在jquery javascript中单击下拉列表时更改标签
- 如何通过单击更改对象标签 src
- 单击时将类添加到 ancer 标签并使用 cookie 保存
- 单击“选择标签”中的“选项”时创建,然后选中“值”创建输入
- 单击时,添加类,直到复选框/标签单击关闭
- 将TextBox.Value传递到模式窗体标签.单击时显示文本
- 使用jquery触发ul标签单击事件
- 禁用引导活动标签单击
- 模拟标签单击按钮单击
- 防止滚动复选框上的标签单击