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);
?>
私は何が間違っているのですか?