2

私のASP.Net MVCプロジェクトでは、window.print()ユーザーが現在のページを印刷できるようにしていました。ただし、組み合わせてテストしたWindows XPところIE 8、実際の印刷では、すべてのラジオ ボタンが元のデフォルト選択にリセットされていることがわかりました。

たとえば、「毎月」、「四半期」、「毎年」という 3 つのラジオ ボタンのグループがあり、デフォルトで「毎月」が選択されている場合、ページを印刷する前に「毎年」を選択しても、実際の印刷結果は「毎月」と表示されます。選択したとおり。ただし、Web ページでは、この選択は「毎年」のままです。

IE 9また、再現されないモードを「IE 8」に設定してテストしました。印刷時にラジオ ボタンが内部的にリセットされる理由は何ですか? これはブラウザの互換性に関連していますか?

これは、私のページにあるそのようなボタンのグループの 1 つの HTML です。

<div>
     <input type="radio" id="freq-month" name="repayments" checked="checked" value="Monthly" />
     <label for="freq-month">Monthly</label>

     <input type="radio" id="freq-fortnight" name="repayments" value="Fortnightly" />            
     <label for="freq-fortnight">Fortnightly</label>

     <input type="radio" id="freq-week" name="repayments" value="Weekly" />
     <label for="freq-week">Weekly</label>
</div>
4

1 に答える 1

0

これは IE<9 での既知の制限です。

回避策の 1 つは、ラジオ ボタンの代わりに画像を印刷することです。チェックされているボタンとチェックされていないボタンに 2 つの異なる画像を使用し、@media print { } を宣言して印刷時にのみ表示されるように設定します。次に、ユーザーが別の値を選択するたびにそれらを切り替えます。

于 2013-11-01T17:32:11.917 に答える