jquery没有提交表单数据

时间:2015-02-21 03:24:08

标签: javascript jquery jquery-ui

我对jQuery不太满意,但我尝试尝试。我正在尝试使用以下代码提交多部分表单,但我似乎无法获取表单数据。我试过了

HTML

<form action="" method="post" enctype="multipart/form-data" id="form">
<input type="text" name="somename" value="24" />
<input type="file" name="fill"  />
<input type="submit" value="Save" name="sub" />     
</form>
<span id="showmsg"></span>

JavaScript的:

$(function(){
    $("#form").on('click',function(e) {
    $.ajax({
        url:'ajax.php',
        data:new FormData(this),
        type:'POST',
        contentType:false,
        cache:false,
        processData:false,
        success:function(data){
        $("#showmsg").show().html(data);
        },
    });
    e.preventDefault(); 
 });        
});

没有用,我试过

$("#form").submit(function(e) {
$("#form").on('submit',function(e) {

1 个答案:

答案 0 :(得分:0)

试试这个小提琴:http://jsfiddle.net/jyqae801/2/

我已经更改了.submit one

的表单事件
$(function(){

    $("#form").submit(function( event ) {
        $.ajax({
            url:'ajax.php',
            data: new FormData(this),
            type:'POST',
            contentType:false,
            cache:false,
            processData:false,
            success:function(data){
                $("#showmsg").show().html(data);
            },
        });
        alert('form has been submitted');
        event.preventDefault(); 
    });        
});

您也可以替换

new FormData(this)

$( "#form" ).serialize()

因为我不确定“这个”是否属于ajax或形式的范围......老实说最近没有测试过,所以内存不是很好。

我个人使用类似的东西,但我认为在您的文件中需要进行一些调整:http://jsfiddle.net/5f9wekLn/

表格

<form action="" method="post" enctype="multipart/form-data" id="form">
    <input type="text" name="somename" value="24" />
    <input type="file" name="fill"  />
    <input type="button" value="Save" id="save" name="sub" />     
</form>
<span id="showmsg">.....waiting......</span>

JS

$(function(){


    $("#save").click(function(e){
        $("#showmsg").html("submitting form");
        $.post("ajax.php",$("#form" ).serialize())
        .done(function(data){
            $("#showmsg").html("server response: " + data);
        })
        .fail(function(){
            $("#showmsg").html("server fail");
        });
        e.preventDefault(); 
    });


});