0

jQuery を使用して、最初のフォーム入力フィールド (name="InvoiceTotal") を読み取り専用の 2 番目のフォーム入力フィールド (name="AmountPaid") に複製しました。ただし、IE(私はIE8を使用しています)は複製せず、2番目のフィールドを空のままにし、2番目のフィールドを読み取り専用にする必要があるため、ユーザーはデータを自分で入力できません。

ほぼ同じコードを使用して、IE で完全に機能する他のフィールドを複製します。この代替コードの唯一の違いは、チェック ボックスを使用して、入力を複製する場合にユーザーにオプションを与える条件付きにすることです。

私が見ていないものについての提案は大歓迎です。

   $(document).ready(function() {      
    $('#InvoiceTotal').change(function() {        
     $('#AmountPaid').val($('#InvoiceTotal').val());
    });
   });


<input name="InvoiceTotal" type="text" id="InvoiceTotal"  />

<input name="AmountPaid" type="text" id="AmountPaid" readonly />
4

1 に答える 1

0

試行錯誤を続けた結果、別のアプローチにたどり着きました。「onchange」を使用して呼び出す関数としてjQueryを使用することから始めましたが、IEでは機能しないことがわかりました。IE が "onchange" をうまく処理できないことについての多くの記事や投稿を読んだ後、"onblur" の使用に切り替えました。私が見つけた解決策はあまりきれいではなく、はるかに優れている可能性がありますが、IEでもすべてが機能しているため、戻ってコードを試してみるまでは、それを行う必要があります。

これが他の誰かを助けることができる場合の作業コードです。

<html>
<head>

<script type = "text/javascript">
    function getAmount() {
    $('input#AmountPaid').val($('input#InvoiceTotal').val());
    }
</script> 

</head>
<body>

    <input name="InvoiceTotal" type="text" id="InvoiceTotal" onblur="getAmount();" />

    <input name="SomeOtherInput" type="text" />

    <input name="AmountPaid" type="text" id="AmountPaid" readonly />

</body>
</html>
于 2013-01-25T23:02:45.123 に答える