1

テキストエリアとファイルアップロードオプションを含む ajax 応答からロードされるフォームがあります。私のフォームはこのように見えます..

<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 をロードしたフォームでは機能しません。どんな助けでも大歓迎です。ありがとう..

4

1 に答える 1

1

フォームが読み込まれる前に、そのハンドラーをどこに設定しますか? その場合はこれを試してください

$(':file').live('change', function(){
    ...
}
于 2012-10-20T15:39:12.877 に答える