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)
答案 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 afunction
body for theonclick
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...;
};