0

我成功地使用 jQuery 将第一个表单输入字段 (name=”InvoiceTotal”) 复制到第二个只读表单输入字段 (name=”AmountPaid”)。但是,IE(我使用的是 IE8)不会重复将第二个字段留空,并且由于第二个字段需要是只读的,因此用户不能自己输入数据。

我使用几乎相同的代码来复制在 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

不断尝试,我最终采用了不同的方法。我开始使用 jQuery 作为使用“onchange”调用它的函数,但再次发现它不适用于 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 回答