0

你好我正在使用这个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;
}
?>

我知道它发生的原因,但我不知道如何解决它?原因是我有两种形式

<form name="main_form" id="form" action="<?=$action?>" name="pkgfrm" method="post" enctype="multipart/form-data">

在此之下,我有很多字段,例如名字,年龄等,另一种形式也在此形式下

<form name="image_form" id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>

由于插件不起作用的两个表单标签。但我需要两种形式,我该怎么做。请帮帮我

4

1 回答 1

-1

除非您使用嵌套形式,否则这应该不是问题。

于 2013-05-22T20:39:17.073 回答