JavaScript onclick 未在 JSP 中的 <li> 标记上触发

JavaScript onclick not firing on <li> tag in JSP

我有这个小 JavaScript 功能:

function exeForm(option, pageToLoad, optionId) {

    var frm = document.getElementById("frmSessionForm");
    var frmOpt = document.getElementById("frmSessionOption");
    var frmOptId = document.getElementById("frmSessionOptionId");

    frm.action = pageToLoad;
    frmOpt.value = option;
    frmOptId.value = optionId;

    frm.submit();
}

每当我单击 link 时都应调用该函数。但那不会发生。这是我的 HTML 代码:

<li><a href="#">Card</a>
    <ul>
        <li><a href="#foo" onclick="exeForm(0,'CardManage.jsp',0);"></a>Search</li>
        <li><a href="#foo" onclick="exeForm(1,'CardManage.jsp',0);"></a>Confirm</li>
        <li><a href="#foo" onclick="exeForm(2,'CardManage.jsp',0);"></a>New</li>
    </ul>
</li>

怎么了?

只需将文本放在像

这样的元素内
   <a href="#foo" onclick="exeForm(0,'CardManage.jsp',0);">Search</a>

这应该有效:

<!DOCTYPE html>
<html>
<head>
    <script>
function exeForm(option, pageToLoad, optionId) {

alert("Inside function");
    var frm = document.getElementById("frmSessionForm");
    var frmOpt = document.getElementById("frmSessionOption");
    var frmOptId = document.getElementById("frmSessionOptionId");

    frm.action = pageToLoad;
    frmOpt.value = option;
    frmOptId.value = optionId;

    frm.submit();
}
</script>
</head>
    <body>

        <li><a href="#">Card</a>
    <ul>
        <li><a href="#foo" onclick="exeForm(0,'CardManage.jsp',0);">Search</a></li>
        <li><a href="#foo" onclick="exeForm(1,'CardManage.jsp',0);">Confirm</a></li>
        <li><a href="#foo" onclick="exeForm(2,'CardManage.jsp',0);">New</a></li>
    </ul>
</li>

    </body>
</html>