2012-07-25 54 views
0
<?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。任何人都可以向我解释如何使它工作?

+0

我不明白这个标签。 ** <? php ** – chhameed 2012-07-25 06:14:31

+0

Hameed是jquery返回过程数据。 – 2012-07-25 06:22:04

回答

2

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

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

你应该这样做如下:

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

但结果不会出现在div txtHint中。一切看起来像重新加载 – 2012-07-25 06:21:27

+1

@JonathanChan'.submit'只需激发提交事件,页面将被重新加载,这不是ajax。 – xdazz 2012-07-25 06:25:32

+0

哦!有没有任何Ajax函数可以解决我的问题?我真的很难学习ajax jquery ... – 2012-07-25 06:31:36

相关问题