2011-09-12 45 views
0

響應我有一個HTML頁面如何填充在同一div,這是作爲填充AJAX

說main.php,用ajax其中填充「upload.php的」在DIV。

現在,在這個upload.php中,我上傳了一張圖片,並且我想以某種方式在main.php中創建這個div,以向我顯示圖片加載成功與否的響應。

我的代碼如下所示:

的main.php

<script type="text/javascript"> 
function showHint() 
{ 
    var str = document.form1.filenumber.value; 
    if (str.length==0) 
     { 
     document.getElementById("txtHint").innerHTML=""; 
     return; 
     } 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
     } 
    xmlhttp.open("GET","upload.php?filenumber="+str,true); 
    xmlhttp.send(); 
} 
</script> 
</head> 
<body> 

<form name="form1" >  
    <tr> 
     <td>File Number </td><td><input type="text" id="11" name="filenumber" /></td> 

</form> 
     <td colspan="2"><input type="submit" onclick='showHint()'></td> 
    </tr> 

</table> 
<div id="txtHint"></div> 

而upload.php的

<?php 
$filenumber = clean($_GET['filenumber']); 

if($filenumber != '') { 
    $qry = "SELECT * FROM profile WHERE filenum='$filenumber'"; 
    $result = mysql_query($qry) 
    or die(mysql_error()); 
    $row = mysql_fetch_array($result); 



    if($result) { 
     if(mysql_num_rows($result) == 0) { 
      $errmsg = '<div style="width:300px; height:100px;color:red;margin:0px auto;position:relative;top: 30%">No such record found. Redirecting back to the status page. </p>'; 
      $errflag = true; 
     } 
     else 
     { 
     ?>  

      <form enctype="multipart/form-data" action="uploader.php" method="POST"> 
      Please choose a file: <input name="uploaded" type="file" /><br /> 
      <input type="submit" value="Upload" /> 
      </form> 

     <?php 
     } 
     //@mysql_free_result($result); 
    } 
    else { 
     die("Query111 failed"); 
    } 
} 
?> 

而upload.php的要求uploader.php,其響應我想展示在同一個div

<?php 
    $target = "images/"; 
    $target = $target . basename($_FILES['uploaded']['name']) ; 
    $ok=1; 
    if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
    { 
     echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
    } 
    else { 
     echo "Sorry, there was a problem uploading your file."; 
} 
?> 

你的建議是最受歡迎的,你的幫助表示讚賞。

感謝 Zee的

+0

一個建議是在使用AJAX和DOM操作時使用JQuery。你會讓自己變得更容易。 – GolezTrol

回答

1

正如GolezTrol提到的,你應該考慮使用JQuery,它與AJAX輕鬆了許多工作。

要回答您的問題,您可以使用JSON encoded response來分離有關上傳過程結果的信息以及要填入div的實際結果。