jquery.form终止; jquery插件中的选择器错误找到的零元素

时间:2013-03-30 04:51:21

标签: jquery image-uploading

您好我使用此jquery plugin上传带有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'>

因为插件不能正常工作的两个表单标签。但我需要两种形式,我该怎么做呢。请帮帮我

1 个答案:

答案 0 :(得分:-1)

除非您使用嵌套表单,否则它应该不是问题。