通过ajax插入数据并通过php错误上传pic

时间:2012-12-17 23:26:21

标签: php ajax upload

我正在尝试通过ajax插入数据并通过php上传图片,问题是,当我尝试将数据与图片一起插入单个按钮时,数据将不会被插入而且图片是上传。当我尝试仅插入数据而不是图片文件(我将其留空)时,它运行良好(只需插入数据(文本))。

这是我的 ajax

$(document).ready(function() {              
    $("#submit1").click(function(){

            jQuery(function($) {
                vals = [];
                $('select.menu_paket').each(function() { vals.push($(this).val()); });
                vals2=vals.join(',')

            });                             
        alert('clicked!');      
        //alert(vals2);             

        var nama_paket=document.getElementById('nama_paket').value;
        var keterangan_paket=document.getElementById('keterangan_paket').value;
        var harga=document.getElementById('harga').value;

        $.ajax({
        type: "POST",
        url: "insert_paket_f.php",
        data: { data : vals2 ,nama_paket : nama_paket,keterangan_paket: keterangan_paket,harga : harga},
        cache: false,
            success: function(){
              alert("OK");
                }
        });                     
    });         
});         

这是我的表格

<form id="form2" name="form2" method="post" action="upload_pic_paket.php" enctype="multipart/form-data"><!-- -->
    <p>Nama Paket :
        <input name="nama_paket" type="text" id="nama_paket" />
    </p>                            
    <p>Keterangan Paket : 
        <input name="keterangan_paket" type="text" id="keterangan_paket" />
    </p>                            
    <p>Harga Paket :
        <input name="harga" type="text" id="harga" />
    </p>                    
    <p>Gambar Paket:                            
        <input type="file" name="picture" id="picture"/>                            
    </p>

    <table border="1">
        <tr><td colspan="4">Masukan Menu Paket</td></tr>
        <tr><td><label>Menu Paket : </label></td><td><select id="menu_paket" name="menu_paket" class="menu_paket">                                  

        </select></td>
        <td><input type="button" class="addRow" value="Add Row"/></td>
        <td><input type="button" class="delRow" value="Delete Row"/></td></tr>                          
    </table>    

    <p>
        <input type="button" id="submit1" name="Submit" value="Simpan"  onclick="saveForm(); return false;"/>
    </p>
</form>

这是我的 upload_pic_paket.php

<?php

    $fileName = $_FILES['picture']['name'];  
    $fileSize = $_FILES['picture']['size'];  
    $fileError = $_FILES['picture']['error'];  
    if($fileSize > 0 || $fileError == 0){  
    $move = move_uploaded_file($_FILES['picture']['tmp_name'], 'images/paket/'.$fileName);  

?>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为ajax和表单事件是相互冲突的。将它们都移动到一个'onsubmit()',看看会发生什么。