0

这段 javascript 代码仅适用于 IE 为什么以及如何使其在 Firefox 和 chrome 上运行。提前致谢。

Javascript

 function uploadFileChange() {
        if (document.getElementById('textbox1').value != document.getElementById("FileUpload1").value) {
            document.getElementById('textbox1').value = document.getElementById("FileUpload1").value;
        }
        return false;
    }

HTML/asp.net

<div class="fileinputs">
    <!-- Upload file invisivel-->
    <asp:FileUpload ID="FileUpload1" ClientIDMode="Static" class="file" runat="server"
        onpropertychange="uploadFileChange();" />
    <!-- button e textbox falsas para poder dar syles ao button-->
    <div class="fakefile">
        <asp:TextBox ID="textbox1" CssClass="textbox" ClientIDMode="Static" runat="server"
            Width="31%" ReadOnly="true" />
        <asp:Button ID="FileChooserButton1" CssClass="btnSubmit" runat="server" Text="Procurar..."
            ForeColor="White" />
        <asp:Button ID="FileChooserButton2" CssClass="btnSubmit" Text="Apagar" ForeColor="White"
            OnClientClick="clear();" runat="server" />
    </div>
</div>

解决

4

2 回答 2

2

onpropertychange 事件仅适用于 IE,因此不会在其他浏览器中触发,请参见http://help.dottoro.com/ljufknus.php

改用 onchange 事件http://forums.asp.net/t/1138684.aspx/1

于 2012-05-11T12:25:36.627 回答
0

使用警报。并尝试警告这两个值..你会知道原因..很可能其他浏览器返回未定义...更好地使用警告和调试值。可能是编码错误。

于 2012-05-11T12:08:07.007 回答