0

我想用 Jquery 在我的数据表中编辑照片。为此,

<a href="ajax/edit_photo.php?id=<?=$row['ID']?>" class="edit ajax" id="">-->'Edit Photo Link'

编辑照片.php:

<div class="photoEdit">
    <form id="editphoto" action="1.php?id=<?=$_GET['id']?>" method="post" class="stdform quickform" enctype="multipart/form-data">
    //My Forms...
    </form>

</div>

我的jQuery:

jQuery('#editphoto').submit(function(){
            var formdata = jQuery(this).serialize();
            var url = jQuery(this).attr('action');
            jQuery.post(url, formdata, function(data){                          
            jQuery('.notifyMessage').addClass('notifySuccess');
                //otherwise
                //jQuery('.notifyMessage').addClass('notifyError');
                jQuery.fn.colorbox.resize();    
            });
            return false;
        });

还有我的 1.php

<? 
include("../../connection.php");
include("../../functions/upload.php");
?>
<?
$limit="1048576";
if(isset($_GET['kaydet'])){
    $id=$_GET['id'];
    $icerik=$_POST['icerik'];
    $picture=DoUpload("picture",$limit,$FileUploadPath);
    $result=mysql_query("SELECT * FROM tbl_photo WHERE ID=$id");
    $picture2=mysql_result($result,0,"picture");
    if($picture=='')
    $picture=$picture2;
    if($picture!="")
{
    mysql_query("UPDATE  `tbl_photo` SET  `picture` =  '$picture',`icerik` =  '$icerik' WHERE `ID` =$id");
    }
}
?>

我编码了一些东西。但是在我的操作中,Jquery 不起作用。所以,什么都没有。

4

2 回答 2

1

您不能通过 jquery 上传二进制文件。您将不得不使用 iframe 方法,或使用一些 jquery 库。(这个很容易尝试。http://blueimp.github.com/jQuery-File-Upload/

另外,您在 PHP 代码中混合了 GET 和 POST。由于您在 jquery 中执行 POST 请求,因此您将无法使用 $_GET 在 PHP 中获取任何变量。它们都应该替换为 $_POST。

于 2012-05-25T22:30:21.223 回答
0

对于图像上传或其他二进制数据,使用隐藏的 iframe。

<div style="position:absolute;top-500px;">
    <iframe src="blank.htm" id=ifr name="ifr">   
</iframe>
</div>

然后让您的图像表单提交到 iframe。

<form target="ifr" onsubmit="pollstatus(<?php=$id ?>)">

使用唯一标识符将隐藏的表单字段添加到表单中。

然后使用 ajax 每 100 毫秒使用 setinterval 调用带有 id 的处理状态,如果处理完成,则使用 ajax 检索图像以获取 html 代码,该代码使用 css 转换显示您喜欢的图像,但您喜欢它,并且把它放在你的结果 div

于 2012-05-25T21:31:16.557 回答