1

私は OpenFaces を使用しており、IE6 と互換性がある必要があります。これまでのところ、すべてが多かれ少なかれ問題なく機能しています。

しかし、私は問題に遭遇しました....

フォーム内にいくつかのボタンがあります。保存、追加、エクスポート、および削除。[エクスポート] をクリックすると、Firefox と IE8 で正常に動作し、定義された Bean の exportToCsv() が呼び出されるため、ブラウザーの動作である必要があります。[IE6 でエクスポート] をクリックすると、bean で exportToCsv() の代わりに add() が呼び出されます。

何か案が?

前もって感謝します。

4

4 に答える 4

3

コンポーネントは、との間に表示されたボタンのコンテンツを指定した場合にのみ、タグを<o:commandButton>レンダリングします。プレーンテキストを表示するだけでよい場合は、このアプローチを使用する必要はなく、通常の属性を使用できます。これにより、の代わりにタグがレンダリングされます。つまり、次のようになります。<button><input><o:commandButton></o:commandButton>value<input><button>

<o:commandButton value="Submit"... /> 

それ以外の

<o:commandButton ...>Submit</o:commandButton>

後者の形式では任意のHTMLを配置できるため、<button>タグが必要です。

于 2011-05-23T11:16:45.980 に答える
1

IE6 には<button>要素に関するバグがあります。サポートしていますが、値を正しく送信しません。

解決策 1:<input type='button'>代わりに使用します。これはおそらく最も明白な解決策ですが、ネストされた要素をサポートしていないため、ページのデザインによっては問題になる場合があります<button>

解決策 2:<button>フォームを直接送信するのではなく、Javascript (またはより可能性が高いのは JQuery) を介してアクションをトリガーします。また、どのボタンがクリックされたかに応じて JS によって入力される隠しフィールドを使用するなどの手法を使用して、正しい詳細が提出されます。

于 2011-05-23T11:08:43.463 に答える
0

OpenFacesを使用する場合の回避策

<o:outputLink styleClass="linkButton" ...>

.linkButton {
    display: block;
    float: left;
    margin: 0 0 0 0;
    background-color: #f5f5f5;
    border: 1px solid #dedede;
    border-top: 1px solid #eee;
    border-left: 1px solid #eee;
    font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
    text-decoration: none;
    font-weight: bold;
    color: #565656;
    cursor: pointer;
    padding: 2px 2px 2px 2px; /* Links */
}

このソースから変更されたCSS:

于 2011-05-23T13:18:38.160 に答える
0

それは間違いなくIE6の問題です:

回避策を見つける時間...

于 2011-05-23T10:55:49.743 に答える