使用HTML5进行文件上传以及ajax不适用于加载ajax的表单

时间:2012-10-20 13:27:59

标签: jquery forms html5 file-upload

我有一个从ajax响应加载的表单,其中包含一些textarea和一个文件上传选项。我的表格看起来像这样..

<form name="myFm" id="myFm" enctype="multipart/form-data">
    <table>
            <tr>
                <td valign="top">
                    <label>My Label</label>
                </td>
                <td>
                    <textarea name="myText" id="myText"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <label>File Upload</label>
                </td>
                <td>
                    <input type="file" id="files" name="myFile" value="Upload" /> 
                </td>
            </tr>
            <tr>
                <td>
                  <input type="button" name="fmSub" value="Submit" onclick="myAjaxFunction();" />
                </td>
            </tr>
    </table>
</form>

表单将通过ajax函数提交给我的PHP脚本。我尝试使用下面的jquery脚本来验证上传文件。

$(':file').change(function(){
    var file = this.files[0];
    name = file.name;
    size = file.size;
    type = file.type;
    if(name.length > 0)
    alert(name);
    //your validation
 });

此脚本适用于普通的html表单,但不适用于我的ajax加载表单。任何帮助将不胜感激。 感谢..

1 个答案:

答案 0 :(得分:1)

在加载表单之前,您在哪里设置该处理程序?在这种情况下试试这个

$(':file').live('change', function(){
    ...
}