2013-05-06 196 views
0

更新:AJAX不工作的第一次點擊,需要點擊兩次

現在的問題是用螢火蟲後我發現的第一個元素獲取title屬性和其他元素不和徘徊後,在任何鏈接的第一個鏈接的標題屬性消失任何想法?

我有它打開頁面,當我點擊這樣的鏈接:

<a class="pictures" href="#" onClick="MM_openBrWindow('content_image.php','images','menubar=yes,scrollbars=yes,resizable=yes,width=650,height=700')" title="Images"></a> 

這個頁面有存儲在一個文件夾中的圖片:

$open = opendir($path); 
while($images = readdir($open)){ 
    if ($images != "." && $images != "..") { 
    $allimages[] = $images; 
    } 
} 
foreach($allimages as $val){ 
    ?> 
    <div class="uploaded_image"><img src="../content_img/<?php echo $val; ?>" align='middle' width='150px' height='100px'>   
     <form><a href="#" title="<?php echo $val; ?>" class="del_img"><img src="images/delete.gif"/></a> <textarea name='text_area' rows=1 cols=20 >../content_img/<?php echo $val; ?></textarea> <input type='button' value='select path' onClick='javascript:this.form.text_area.focus();this.form.text_area.select();'> Copy path and paste in image path field </form></div> 
     <?php 
} 
closedir($open); 
?>   

我想刪除使用圖片與href定期鏈接,具有以下屬性的頁面:

?do=delete&img=<?php echo $val; ?> 

和n unlink()的圖像。但是,只要我不點擊鼠標懸停在鏈接上,圖像就會被刪除。我不知道爲什麼。

我嘗試使用AJAX來做到這一點:

$(document).ready(function(e) { 
$("div.uploaded_image").on("click","a.del_img",function(e){ 
    e.preventDefault(); 
    var img = $(this).attr("title"); 
    var qst = "?img="+img+"&path=content_img"; 
    var ajax = false; 
    ajax = new XMLHttpRequest(); 
    ajax.open("post","del_image.php"+qst); 
    ajax.onreadystatechange = function(){ 
     if(ajax.readyState == 4 && ajax.status == 200){ 
     } 
    } 
    ajax.send(null); 
    setTimeout(ref,1500); 
}); 
}); 
function ref(){ 
window.location = "content_image.php" 
} 

這個PHP代碼工作使用AJAX來刪除:

$img = $_REQUEST['img']; 
$path = $_REQUEST['path']; 
unlink("../".$path."/".$img); 

當我點擊刪除鏈接上的第一次它不」工作。我必須再次點擊刪除圖像。請幫忙嗎?

回答

1
$open = opendir($path); 
while($images = readdir($open)){ 
    if ($images != "." && $images != "..") { 
    $allimages[] = $images; 
    } 
} 
foreach($allimages as $val){ 
    ?> 
    <div class="uploaded_image"><img src="../content_img/<?php echo $val; ?>" align='middle' width='150px' height='100px'>   
     <form><a href="Javascript:void(0);" title="<?php echo $val; ?>" class="del_img"><img src="images/delete.gif"/></a> <textarea name='text_area' rows=1 cols=20 >../content_img/<?php echo $val; ?></textarea> <input type='button' value='select path' onClick='javascript:this.form.text_area.focus();this.form.text_area.select();'> Copy path and paste in image path field </form></div> 
     <?php 
} 
closedir($open); 
?>   

在標籤中使用此代碼

+0

代碼更新檢查,請 – 2013-05-06 09:20:16

+0

替換下表單標籤的代碼替換HREF =#與HREF =」使用Javascript:無效(0);」 – ankit 2013-05-06 09:24:42

+0

我將屬性「標題」更改爲「代碼」,它的工作原理我不知道爲什麼「標題」屬性消失 – 2013-05-06 09:33:04

0

變化

$("div.uploaded_image").on("click","a.del_img",function(e){ 
    e.preventDefault(); 

$("div.uploaded_image a").click(function(e){ 
    e.preventDefault(); 
... 
+0

代碼更新檢查請 – 2013-05-06 09:19:18

+0

在'e.preventDefault();'後面加'alert'something'然後在'ajax.open(「post」,「del_image.php」+ qst);'並且在第一次點擊之後看到,這個提示會出現在屏幕上或不是 – Amir 2013-05-06 09:28:13

+0

我將屬性「標題」更改爲「代碼」工作我不知道爲什麼「標題」屬性消失 – 2013-05-06 09:32:27