使用Jquery进行后期操作

时间:2012-05-25 21:17:10

标签: php jquery post

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

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

edit_photo.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不起作用。所以,什么都没有。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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 ?>)">

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

然后使用setinterval每隔100ms用ajax调用处理状态,如果处理完成,则使用ajax检索图像以获取html代码,使用css转换显示图像,但是您喜欢它,并将其放在你的结果div