('表格')。submit()没有启动

时间:2015-01-13 09:27:33

标签: php jquery

我无法提交表单,因为jquery中的.submit()没有被触发。谁能帮我?这是我的代码的一部分...

<form id="repmsg" class="remember" method="post" action="test.php" enctype="multipart/form-data">
 <input type="file" name="filepj" id="message_file" class="message_file f_left" style="float: left;"/>
<input type="submit" style="display: none" name="pj" id="pj1">
</form>
<a onclick="sendMessage(<?php echo $mId; ?>);" href="javascript:;" class="envoyer_reponse f_right"><?php echo $translate->translate('send'); ?><span><span></span></span></a>
        <a onclick="cancelMessage(<?php echo $mId; ?>);" href="javascript:;" class="annuler_reponse f_right"><?php echo $translate->translate('wish_popup_annuler'); ?></a>

当我点击链接sendMessage时,会触发一个jquery函数。这是sendMessage()函数

function sendMessage(id) {

var mId = id;

if( $('#msg_txt_'+id).val() != '' ) {

    var message_file = $('#message_file').val();

    uploads();

    $.ajax({
        type: 'post',
        data: { mId: id, type: 1, message: $("#msg_txt_"+id).val(), act:"rep", msg_file : message_file},
        url: path_relative_root+'message-detail.php',
        success: function( response ){

            if( response == '1' ) {
                $('#msg_conf_'+mId).html(message_send);
                $('#msg_conf_'+mId).show();
            }
            else {
                $('#msg_conf_'+mId).html(message_fail);
                $('#msg_conf_'+mId).show();
            }

        }
    });

}
else

    $('#msg_conf_'+mId).hide();

}

从这个sendMessage()函数中,有一个upload()函数,它将具有.submit()

function uploads(){

var message_file = $('#message_file').val();

console.log(message_file);

if( message_file != '' ){

    console.log('test');

    $(document).ready(function() {

        $( "#repmsg" ).submit(function( e ) {
            e.preventDefault();
            data = new FormData($("#repmsg")[0]);

            console.log('Submitting');

            alert('hello');
            $.ajax({
                type: 'POST',
                url: path_relative_root + 'message-detail.php',
                data: data,
                cache: false,
                contentType: false,
                processData: false
            }).done(function (data) {
                console.log(data);
            }).fail(function (jqXHR, status, errorThrown) {
                console.log(errorThrown);
                console.log(jqXHR.responseText);
                console.log(jqXHR.status);
            });

        });
    });
}

}

有人可以帮我找到我的错误,为什么我无法提交我的表格。谢谢

1 个答案:

答案 0 :(得分:0)

最近遇到过类似的事情。我不认为它应该重要,可能是一个错误,但尝试

data: $("#repmsg").serialize()

而不是

data = new FormData($("#repmsg")[0]);