jQuery $ .submit和文件在IE和FF中不起作用

时间:2012-07-25 06:10:46

标签: php jquery

<?php
    if (!empty($_FILES)){
        echo "<pre>";
        echo $_FILES['file']['type'];
        echo "</pre>";
        return;
    }
?>
<script type="text/javascript">
    function autoUpLoad(){
        $("#txtHint").html("<center><img src='include/images/loader.gif' />Reading selected file...</center>");
        $(document).ready(function(){
            $("#file").change(function(){
                $("#myForm").submit(function(data){
                    $("#txtHint").html(data);
                });
            });
        });
    }
</script>
<form id="myForm" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id = "file" onchange='autoUpLoad()'/>
    <input type="submit" value="Send" />
</form>
<div id="txtHint">
    test
</div>

以上代码无效,我不确定这里有什么问题?它仅在我删除这些行时才有效:

function(data){
    $("#txtHint").html(data);
}

它只是不允许我将数据返回txtHint。任何人都可以向我解释如何让它发挥作用吗?

1 个答案:

答案 0 :(得分:2)

您正在绑定提交事件,而不是触发它。

带有回调参数的

.submit()方法用于绑定提交事件,不带参数来触发提交事件。

您应该执行以下操作:

$(document).ready(function () {
    $("#myForm").submit(function (data) {
        $("#txtHint").html(data);
    });
    $("#file").change(function () {
        $("#myForm").submit();
    });
});