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 メソッド内に return を入れないでください。代わりにこれを使用してください。

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

入力チェックボックスは送信ボタンではないため、関数で何も返す必要はありません。onclick を除いて、イベントは発生しません。

関数内で必要なことは何でも実行します: イベントの発生など。

于 2013-07-26T06:42:56.600 に答える
2

リストしたエラーはSyntaxErrorではなく、エディターが生成している検証エラーのようです。そして、それがエラーであると主張するのは間違っているようです。

onclick属性functiononclickの値は、使用returnが有効なプロパティの本体になります。

EventListener対応する属性とは異なり、これらのプロパティの値は、文字列ではなく関数 (またはインターフェイスを実装するその他のオブジェクト) です。実際、HTML でイベント属性を割り当てると、指定されたコードの周りにラッパー関数が作成されます。たとえば、次の HTML があるとします。

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

elementが this への参照である場合div、 の値element.onclickは事実上次のとおりです。

function onclick(event) {
   foo();
}

JavaScript の検証を完全に無効にする以外に、「エラー」が本物ではないことをエディターに納得させる方法がわかりません。

ただし、できることは、属性ではなくプロパティ<script>を使用してバインディングを適用することです (つまり、「目立たない」JavaScript):onclick

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 に答える