こんにちは、このjqueryプラグインを使用してajaxで画像をアップロードしています
これは私のhtmlコードです
<form name="image_form" id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
<input type="file" name="image" id="image" tabindex="2" value="<?=$_POST['image']?>" />
</form>
<div id='preview'>
</div>
これはjqueryコードです
$(document).ready(function()
{
$('#image').live('change', function()
{
$("#preview").html('');
//$("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
$("#imageform").ajaxForm(
{
target: '#preview'
}).submit();
});
});
これはajaximage.phpコードです
<?php
//include('db.php');
echo "AAAA";
session_start();
$session_id='1'; // User session id
$path = "images/";
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['image']['name'];
$size = $_FILES['image']['size'];
echo "bb".$name;
if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024)) // Image size max 1 MB
{
$actual_image_name = time().$session_id.".".$ext;
$tmp = $_FILES['image']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
echo "ccc";
//mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
echo "<img src='images/".$actual_image_name."' class='preview'>";
}
else
echo "failed";
}
else
echo "Image file size max 1 MB";
}
else
echo "Invalid file format..";
}
else
echo "Please select image..!";
exit;
}
?>
原因はわかったのですが、解決方法がわかりません。その理由は、私には2つのフォームがあるからです
<form name="main_form" id="form" action="<?=$action?>" name="pkgfrm" method="post" enctype="multipart/form-data">
この下には、 First name 、 Age などの多くのフィールドがあり、他の1つのフォームもこのフォームの下にあります
<form name="image_form" id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
プラグインが機能していない 2 つのフォーム タグが原因です。しかし、私は両方のフォームが必要です。どうすればこれを行うことができますか。お願い助けて