OnClick函数出错

时间:2013-07-26 06:34:58

标签: javascript html jsp

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)

3 个答案:

答案 0 :(得分:2)

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

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

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

在你的职能中做你需要做的事情:开火事件等。

答案 1 :(得分:2)

正如我在评论中所说,onclick参数将接受Javascript,但通常在这里使用函数。这取决于返回的功能,而不是在这里。因此,

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

应该是

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

此外,请确保您的功能已正确定义且 返回值。

答案 2 :(得分:2)

您列出的错误似乎不是SyntaxError,而是validation error that your editor is producing。而且,声称这是一个错误似乎是错误的。

使用return的{​​{3}}的值有效:

  

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

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

如果element是对此div的引用,则element.onclick的值有效:

function onclick(event) {
   foo();
}

我不知道你怎么能说服编辑“错误”不是真的,除了完全禁用JavaScript验证。

但是,您可以做的是将<script>中的绑定应用于EventListener而不是属性(即“ unobtrusive ”JavaScript):

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

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

window.onload = function () {
    document.getElementById('chkall') // etc...;
};