有谁能帮我,将本代码改成无刷新上传功能,谢了。
<tr>
<td width="18%" align="right">上传图片 <a href="#" title="再发一张" onClick="showinput()"><img border='0' src='$webdb[www_url]/images/default/menu_add.gif'></a>
</td>
<td width="82%"><SCRIPT LANGUAGE="JavaScript">
<!--
function choosef(i,t){
if(t=='out'){
document.getElementById("out_url"+i).style.display='';
document.getElementById("in_url"+i).style.display='none';
}else{
document.getElementById("out_url"+i).style.display='none';
document.getElementById("in_url"+i).style.display='';
}
}
//-->
</SCRIPT>
<!--
EOT;
$detail=explode(",",$webdb[group_UpPhoto].',3,4');
if($webdb[group_UpPhoto]&&!in_array($groupdb['gid'],$detail))$none='none;';
$i=0;
foreach($listdb AS $key=>$rs){
$i++;
print <<<EOT
-->
<input type="text" name="photodb[$i]" size="30" id="out_url$i" value="$rs[imgurl]">
<input type="file" name="local_file$i" id="in_url$i" style="display:none;">
<input type="radio" name="ftype[$i]" value="out" checked onclick="choosef($i,'out')">
图片网址<a style="display:$none;">
<input type="radio" name="ftype[$i]" value="in" onclick="choosef($i,'in')">
本地上传</a>
<input type="hidden" name="piddb[$i]" value="$key">
<!--
EOT;
}print <<<EOT
-->
<div id="input"></div>
<script>
totalnum=$i;
function showinput(){
var str=input.innerHTML;
var num=2;
num=document.FORM.nums.value;
for(var i=1;i<=num;i++){
totalnum=totalnum+i;
str+='<input type="text" name=photodb['+totalnum+'] size="30" id="out_url'+totalnum+'"> <input type="file" name="local_file'+totalnum+'" id="in_url'+totalnum+'" style="display:none;"> <input type="radio" name="ftype['+totalnum+']" value="out" checked onclick="choosef('+totalnum+',\'out\')"> 图片网址 <a style="display:$none;"><input type="radio" name="ftype['+totalnum+']" value="in" onclick="choosef('+totalnum+',\'in\')"> 本地上传</a><br>';
}
input.innerHTML=str;
}
</script>
<input type="hidden" size="3" name="nums" value="1">
</td>
</tr>
<tr>
<td width="18%" align="right">上传图片 <a href="#" title="再发一张" onClick="showinput()"><img border='0' src='$webdb[www_url]/images/default/menu_add.gif'></a>
</td>
<td width="82%"><SCRIPT LANGUAGE="JavaScript">
<!--
function choosef(i,t){
if(t=='out'){
document.getElementById("out_url"+i).style.display='';
document.getElementById("in_url"+i).style.display='none';
}else{
document.getElementById("out_url"+i).style.display='none';
document.getElementById("in_url"+i).style.display='';
}
}
//-->
</SCRIPT>
<!--
EOT;
$detail=explode(",",$webdb[group_UpPhoto].',3,4');
if($webdb[group_UpPhoto]&&!in_array($groupdb['gid'],$detail))$none='none;';
$i=0;
foreach($listdb AS $key=>$rs){
$i++;
print <<<EOT
-->
<input type="text" name="photodb[$i]" size="30" id="out_url$i" value="$rs[imgurl]">
<input type="file" name="local_file$i" id="in_url$i" style="display:none;">
<input type="radio" name="ftype[$i]" value="out" checked onclick="choosef($i,'out')">
图片网址<a style="display:$none;">
<input type="radio" name="ftype[$i]" value="in" onclick="choosef($i,'in')">
本地上传</a>
<input type="hidden" name="piddb[$i]" value="$key">
<!--
EOT;
}print <<<EOT
-->
<div id="input"></div>
<script>
totalnum=$i;
function showinput(){
var str=input.innerHTML;
var num=2;
num=document.FORM.nums.value;
for(var i=1;i<=num;i++){
totalnum=totalnum+i;
str+='<input type="text" name=photodb['+totalnum+'] size="30" id="out_url'+totalnum+'"> <input type="file" name="local_file'+totalnum+'" id="in_url'+totalnum+'" style="display:none;"> <input type="radio" name="ftype['+totalnum+']" value="out" checked onclick="choosef('+totalnum+',\'out\')"> 图片网址 <a style="display:$none;"><input type="radio" name="ftype['+totalnum+']" value="in" onclick="choosef('+totalnum+',\'in\')"> 本地上传</a><br>';
}
input.innerHTML=str;
}
</script>
<input type="hidden" size="3" name="nums" value="1">
</td>
</tr>
在你的上传页面里放个隐藏的iframe,然后让提交的表单处理指向iframe。然后js用ajax获取上传文件的状态(具体方法自己查google,有好几种).有必要的话可以用进度条显示。