1

他の投稿を探していましたが、問題を解決できませんでした。ファイルをアップロードすると成功しますが、.done() イベントが機能せず、「test.php?validate」に更新されません。jqueryコードは次のとおりです。

function init(){
    $("#asd").submit(function(){
        var data = new FormData($('#asd')[0]);
        upload(data);
        return false;
    });
}

function upload(data) {
    $("#asd > :submit").prop('disabled', true);
    $.ajax({
        url: "test.php?validate",
        type: "POST",
        data: data,
        async: false,
        cache: false,
        contentType: false,
        processData: false

    })
    .done(function(info){
        var data = JSON.parse(info);
        if (data.status == 200)
            messageAndRedirect(data.msg, data.url);
        else
            error(data.msg);
    })

    .fail(function(){
        alert("Error.");
    })
    .always(function(){
        $("#asd > :submit").prop('disabled', false);
    });

}

入力コードは次のとおりです。

{include file="header.tpl" title="files" scripts=$scripts}
<form id="asd"  enctype="multipart/form-data">
         <label for="file">Filename:</label>
        <input type="file" name="file" id="file" /> 
        <br>
        <input type="submit" value="¡upload!">
</form>
</body>
</html>

助けてください!ありがとう

4

0 に答える 0