1

OnClick 功能出错。错误是“不能从外部返回函数或方法”。

HTML

<table width="100%" border="0" cellspacing="0" cellpadding="0" height=atuo class="table_content">
        <tr class="tr_title" align="center">
            <td align="center" width="1%" class="table_content_td">
                <input name="chkall" type="checkbox" id="chkall" onClick="return cf_checkall('this.document.form1.chkdel',this.checked);" helpid="14">
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                RN
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                Driver Name
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                Phone Number
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                Vehicle Number
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                Fueled in Ltrs
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                Fueling Time
            </td>
            <td nowrap width="12%" align="center" class="table_content_td">
                Region
            </td>
            <td nowrap width="15%" align="center" class="table_content_td">
                Assign To Department
            </td>
        </tr>

当我运行这个项目时,会显示以下错误。请帮助我如何消除这些错误。我认为它是因为 ClassPath 或环境变量错误。任何人都指导我如何为 weblogic 设置类路径或设置环境变量

The WebLogic Server did not start up properly.
java.io.InvalidClassException: javax.management.MBeanAttributeInfo; local class       incompatible: stream classdesc serialVersionUID = 7043855487133450673, local class serialVersionUID = 8644704819898565848
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
at javax.management.MBeanInfo.readObject(MBeanInfo.java:669)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
4

3 回答 3

2

正如我在评论中所说,该onclick参数将接受 Javascript,尽管这里通常使用一个函数。由函数返回,而不是在这里。所以,

onClick="return cf_checkall('this.document.form1.chkdel',this.checked);"

应该

onClick="cf_checkall('this.document.form1.chkdel',this.checked);"

此外,请确保您的函数已正确定义并返回一个值。

于 2013-07-26T06:50:45.707 回答
2

不要将 return 放在 onclick 方法中,而是使用它:

onClick="javascript:cf_checkall('this.document.form1.chkdel',this.checked);"

您不需要在函数中返回任何内容,因为输入复选框不是提交按钮,因此不会触发任何事件,除了 onclick。

在你的函数中做任何你需要做的事情:触发事件等。

于 2013-07-26T06:42:56.600 回答
2

您列出的错误似乎不是SyntaxError,而是您的编辑器产生的验证错误。而且,声称这是一个错误似乎是错误的。

属性的值成为onclick属性的function主体onclick,其中 usingreturn有效:

与相应的属性不同,这些属性的值是函数(或任何其他实现EventListener接口的对象)而不是字符串。事实上,在 HTML 中分配一个事件属性会围绕指定的代码创建一个包装函数。例如,给定以下 HTML:

<div onclick="foo();">click me!</div>

如果element是对 this 的引用div,则 的值element.onclick实际上是:

function onclick(event) {
   foo();
}

除了完全禁用 JavaScript 验证之外,我不知道如何让编辑器相信“错误”不是真实的。

但是,您可以做的是在 a 中应用属性而不是属性的绑定<script>onclick不显眼的”JavaScript):

document.getElementById('chkall').onclick = function () {
    return cf_checkall('this.document.form1.chkdel', this.checked);
};

注意:这需要<input>在标记中或另一个事件处理程序中之后chkall才可用:

window.onload = function () {
    document.getElementById('chkall') // etc...;
};
于 2013-07-26T08:13:12.463 回答