0

ajax経由でデータを挿入し、php経由で画像をアップロードしようとしていますが、問題は、画像と一緒に1つのボタンでデータを挿入しようとすると、データが挿入されず、画像がアップロードされることです。画像ファイルではなく、データだけを挿入しようとすると(空のままにします)、うまく機能します(データ(テキスト)を挿入するだけです)。

これは私の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);  

?>

私は何が間違っているのですか?

4

1 に答える 1

0

ajax とフォーム イベントが競合していると思います。両方を単一の「onsubmit()」に移動して、何が起こるかを確認してください。

于 2012-12-17T23:43:51.103 に答える