选中HTML复选框后如何调用脚本?

use*_*554 1 html javascript forms checkbox

我有以下代码.单击apple时,应调用脚本并弹出警报.为什么这不起作用?

检查苹果时,应该调用脚本apple!

<input type="checkbox" name="apple" id="apple" onclick ="apple()" />
<label for = "apple"> Apple ($.59) </label>
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 6

问题是元素的ID和名称与全局函数相同.元素ID也成为引用元素的全局变量,它们正在替换函数定义.赋予函数不同的名称.

JS:

function appleAlert() {
    var selection = document.getElementById("apple");
    var total = 0;


    if (selection.checked) {
        total = 59;
        alert(total);
    } else {
        alert("Not checked");
    }

}
Run Code Online (Sandbox Code Playgroud)

HTML:

<form name="shopping" action="#" method="post" onsubmit="return appleAlert()">
    <input type="checkbox" name="apple" id="apple" onclick="appleAlert()" />
    <label for="apple">Apple ($.59)</label>
    <input type="checkbox" name="orange" id="apple" onchange="orangeAlert()" />
    <label for="orange">Orange ($.49)</label>
    <input type="checkbox" name="banana" id="apple" onchange="bananaAlert()" />
    <label for="banana">Banana ($.39)</label>
    <input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

DEMO