<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
<head>
<title>图片批量上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
body,form,input{font-size: 12px;}
hr{size:1px;width:50%;text-align:left;}
</style>
<script language="javascript" type="text/javascript">
//居中弹出窗体 
function getwindow(URL,width,height){
window.open(URL,'','width='+width+',height='+height+',top='+(screen.height-height)/2+',left='+(screen.width-width)/2); 
}
function JHshNumberText(){
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) 
|| (window.event.keyCode == 13) || (window.event.keyCode == 46) 
|| (window.event.keyCode == 45)))
{
window.event.keyCode = 0 ;
}
}
function oPic(){
var i = 1;
var outStr = '';
var maxNum = 99;
var iNum = document.getElementById('oNum').value;
if(iNum=='' || iNum==null || iNum==0){
iNum = 3;
}
if(iNum>=maxNum){
alert('每次最大允许上传'+maxNum+'个文件');
}
else{
for(i=1;i<=iNum;i++){
outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
outStr+='上传图'+i+':无';
outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
}
document.getElementById('oPid').innerHTML = outStr;
}
}
</script>
</head>
<body>
<font color="red">本示例演示图片批量上传:</font>
<hr />
<form name="myfrom" method="post" action="">
数量:<input type="text" name="oNum" id="oNum" size="5" onkeypress="JHshNumberText();"/> 只能是数字 <input type="button" name="obutton" value="设置" onclick="oPic();" /><br /><br />
<div id="oPid"></div>
  <input name="submit" type="submit" value="提交" />
</form>2个问题:
1、那个if判断为空为什么没有效果啊。为空或为0应该是加载3个啊。
2、先设置3张,随便在文本框里面输入。然后再设置5张。设置下,你输入的内容就没有了。该怎么解决?

解决方案 »

  1.   

    if(iNum=='' || iNum==null || iNum==0){
            iNum = 3;
        }第一就是这个没有启到作用。。现在运行代码无法加载。。第二。。你现在复制代码运行,第一个问题就出来了。然后你设置张数。比如:3张。就出现了要加载的效果。你随便在文本框里面输入点文字啊撒的。。然后再设置成:5张。点设置按钮。。这时页面并没有刷新。但是加载了5张,这时你先前输入的文字啊撒的就没有了。。我想要的结果是有的。加入5张。其实只加载2张。因为先前加载了3张。现在加载到5张。就是5-3=2.。可明白了我的意思?
      

  2.   

    为空时没运行那个if???
    多打几个alert看看走到哪出错
      

  3.   

    第一个错误我自己解决了。
    可以这样:
    if(iNum=='' || iNum==null || iNum==0){
      document.getElementById('oNum').value = 3;
      oPic();
      //iNum = 3;
      }第二个希望大家帮忙解决。
      

  4.   

    看看 是不是 inum==null的表达方法要改下 可能不是这么写
      

  5.   

    第一个问题没发现有问题
    第二个,你不是写了var outStr = '';且document.getElementById('oPid').innerHTML = outStr;所以东东会没
      

  6.   

    设置innerHTML 等于清空了在加
    参考,自己改改<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
    <head>
    <title>图片批量上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style type="text/css">
    body,form,input{font-size: 12px;}
    hr{size:1px;width:50%;text-align:left;}
    </style>
    <script language="javascript" type="text/javascript">
    //居中弹出窗体 
    function getwindow(URL,width,height){
        window.open(URL,'','width='+width+',height='+height+',top='+(screen.height-height)/2+',left='+(screen.width-width)/2); 
    }
    function JHshNumberText(e){
    var ev = window.event || e;//fit firefox
        if ( !(((ev.keyCode >= 48) && (ev.keyCode <= 57)) 
        || (ev.keyCode == 13) || (ev.keyCode == 46) 
        || (ev.keyCode == 45)))
        {
            //ev.keyCode = 0 ;//ev.keycode不能设置。。what r you want?
        }
    }
    function oPic(){
        var i = 1;
        var outStr = '';
        var maxNum = 99;
        var iNum = document.getElementById('oNum').value;
        if(iNum=='' || iNum==null || iNum==0){
            document.getElementById('oNum').value = 3;
       oPic();
        }
        if(iNum>=maxNum){
            alert('每次最大允许上传'+maxNum+'个文件');    
        }
        else{
            for(i=1;i<=iNum;i++){
                outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
                outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
                outStr+='上传图'+i+':无';
                outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
            }
            var nd = document.createElement('div');//加个div
            nd.innerHTML = outStr
            document.getElementById('oPid').appendChild(nd);
            nd = null;
        }
    }
    </script>
    </head>
    <body>
    <font color="red">本示例演示图片批量上传:</font>
    <hr />
    <form name="myfrom" method="post" action="">
    数量:<input type="text" name="oNum" id="oNum" size="5" onkeypress="JHshNumberText(event);"/> 只能是数字 <input type="button" name="obutton" value="设置" onclick="oPic();" /><br /><br />
    <div id="oPid"></div>
      <input name="submit" type="submit" value="提交" />
    </form>
      

  7.   

    那你要做个判断啊,如果原来的iNum小等于现在的iNum,document.getElementById('oPid').innerHTML 不变,如果大于现在的iNum,就删掉(原iNum-现iNum)个节点就行啦
      

  8.   

    少打了一点,小等于 在document.getElementById('oPid').innerHTML 不变的前提下加(现iNum-原iNum)个节点
      

  9.   

    这个可以自己改改哈,偶写的,试试- -
    function oPic(){
        var i = 1;    
        var maxNum = 99;
        var iNum = document.getElementById('oNum').value;
        if(iNum=='' || iNum==null || iNum==0){
            iNum = 3;
        }
        if(iNum>=maxNum){
            alert('每次最大允许上传'+maxNum+'个文件');    
        }
        else{
    var tempLen=0;
    var outStr="";
    if(document.getElementById('tempDiv'))
    {
    tempLen=tempDiv.length;
    if(tempLen==undefined)
    tempLen=1;
    }

    if(tempLen<iNum)
    {
    for(i=1;i<=iNum-tempLen;i++){
    outStr+='<div id="tempDiv">';
    outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
    outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
    outStr+='上传图'+i+':无';
    outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
    outStr+='</div>';
    }
    document.getElementById('oPid').innerHTML += outStr;

    }
    else if(tempLen>iNum)
    {
    for(var i=iNum;i<tempLen;i++)
    {
    var oChild=oPid.children(parseInt(iNum));
    oPid.removeChild(oChild);
    }
    }


        }
    }
      

  10.   

    不能自己改改吗..
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
    <head>
    <title>图片批量上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style type="text/css">
    body,form,input{font-size: 12px;}
    hr{size:1px;width:50%;text-align:left;}
    </style>
    <script language="javascript" type="text/javascript">
    //居中弹出窗体 
    function getwindow(URL,width,height){
        window.open(URL,'','width='+width+',height='+height+',top='+(screen.height-height)/2+',left='+(screen.width-width)/2); 
    }
    function JHshNumberText(e){
        var ev = window.event || e;//fit firefox
        if ( !(((ev.keyCode >= 48) && (ev.keyCode <= 57)) 
        || (ev.keyCode == 13) || (ev.keyCode == 46) 
        || (ev.keyCode == 45)))
        {
            //ev.keyCode = 0 ;//ev.keycode不能设置。。what r you want?
        }
    }
    var iNum = 0;
    function oPic(){
        var i = 1;
        var outStr = '';
        var maxNum = 99;
        //iNum = document.getElementById('oNum').value;
        if(iNum=='' || iNum==null || iNum==0){
         document.getElementById('oNum').value = 3;
        }
        
        if(iNum>=maxNum){
            alert('每次最大允许上传'+maxNum+'个文件');    
        }    else{
         var o = document.getElementById('oNum').value;
            for(i=iNum;i<o;i++){
                outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
                outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
                outStr+='上传图'+i+':无';
                outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
            }
            var nd = document.createElement('div');//加个div
            nd.innerHTML = outStr
            document.getElementById('oPid').appendChild(nd);
            nd = null;
            iNum = o;
        }
    }
    window.onload = function(){oPic()}
    </script>
    </head>
    <body>
    <font color="red">本示例演示图片批量上传:</font>
    <hr />
    <form name="myfrom" method="post" action="">
    数量:<input type="text" name="oNum" id="oNum" size="5" onkeypress="JHshNumberText(event);"/> 只能是数字 <input type="button" name="obutton" value="设置" onclick="oPic();" /><br /><br />
    <div id="oPid"></div>
      <input name="submit" type="submit" value="提交" />
    </form>
    </body>
    </html>
      

  11.   

     var o = document.getElementById('oNum').value;
    改成-->
     var o = parseInt(document.getElementById('oNum').value);
      

  12.   

    你是牛B人物。搞定了。
    嘿嘿。为什么都喜欢用:o呢?我也很喜欢。我一贯的作风。。
    if(iNum=='' || iNum==null || iNum==0){
            document.getElementById('oNum').value = 3;
        }
    这个始终没有效果。进去还是没有加载。。
    应该重1开始显示。我回家了。自己弄下。加载的那个就是不明白为什么不加载
      

  13.   

    我本地测试没问题哦,ff3.6.6/ie7.0,默认进去3个.
      

  14.   

    为什么在我的IE8下运行就出现:---------------------------
    来自网页的消息
    ---------------------------
    Out of memory at line: 31
    ---------------------------
    确定   
    ---------------------------
    一打开就弹出的
      

  15.   

    最后的完整代码:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
    <head>
    <title>图片批量上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style type="text/css">
    body,form,input{font-size: 12px;}
    hr{size:1px;width:50%;text-align:left;}
    </style>
    <script language="javascript" type="text/javascript">
    //居中弹出窗体 
    function getwindow(URL,width,height){
        window.open(URL,'','width='+width+',height='+height+',top='+(screen.height-height)/2+',left='+(screen.width-width)/2); 
    }
    function JHshNumberText(e){
        var ev = window.event || e;//fit firefox
        if ( !(((ev.keyCode >= 48) && (ev.keyCode <= 57)) 
        || (ev.keyCode == 13) || (ev.keyCode == 46) 
        || (ev.keyCode == 45)))
        {
            //ev.keyCode = 0 ;//ev.keycode不能设置。。what r you want?
        }
    }
    var iNum = 0;
    function oPic(){
        var i = 1;
        var outStr = '';
        var maxNum = 99;
        //iNum = document.getElementById('oNum').value;
        if(iNum=='' || iNum==null || iNum==0){
            document.getElementById('oNum').value = 3;
    oPic();
        }
        
        if(iNum>=maxNum){
            alert('每次最大允许上传'+maxNum+'个文件');    
        }    else{
            var o = parseInt(document.getElementById('oNum').value);
            for(i=iNum;i<o;i++){
                outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
                outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
                outStr+='上传图'+i+':无';
                outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
            }
            var nd = document.createElement('div');//加个div
            nd.innerHTML = outStr
            document.getElementById('oPid').appendChild(nd);
            nd = null;
            iNum = o;
        }
    }
    window.onload = function(){oPic()}
    </script>
    </head>
    <body>
    <font color="red">本示例演示图片批量上传:</font>
    <hr />
    <form name="myfrom" method="post" action="">
    数量:<input type="text" name="oNum" id="oNum" size="5" onkeypress="JHshNumberText(event);"/> 只能是数字 <input type="button" name="obutton" value="设置" onclick="oPic();" /><br /><br />
    <div id="oPid"></div>
      <input name="submit" type="submit" value="提交" />
    </form>
    </body>
    </html>我用的是IE8啊。一运行就弹出提示:
    ---------------------------
    来自网页的消息
    ---------------------------
    Out of memory at line: 31
    ---------------------------
    确定   
    ---------------------------
    页面没有加载3个。再点设置那个也是弹出这玩意。
      

  16.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
    <head>
    <title>图片批量上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style type="text/css">
    body,form,input{font-size: 12px;}
    hr{size:1px;width:50%;text-align:left;}
    </style>
    <script language="javascript" type="text/javascript">
    //居中弹出窗体 
    function getwindow(URL,width,height){
        window.open(URL,'','width='+width+',height='+height+',top='+(screen.height-height)/2+',left='+(screen.width-width)/2); 
    }
    function JHshNumberText(e){
        var ev = window.event || e;//fit firefox
        if ( !(((ev.keyCode >= 48) && (ev.keyCode <= 57)) 
        || (ev.keyCode == 13) || (ev.keyCode == 46) 
        || (ev.keyCode == 45)))
        {
            //ev.keyCode = 0 ;//ev.keycode不能设置。。what r you want?
        }
    }
    var iNum = 0;
    function oPic(){
      if(document.getElementById('oPid')!=null)
       document.getElementById('oPid').innerHTML="";
        var i = 1;
        var outStr = '';
        var maxNum = 10;
      var o = document.getElementById('oNum').value;
        if(o=='' || o==null || o==0){
            document.getElementById('oNum').value = 3;
    f_method(outStr,o);
        }
        
        if(o>maxNum){
         var o = document.getElementById('oNum').value = 3;
             f_method(outStr,o);
      alert('每次最大允许上传'+maxNum+'个文件');  
        }    else{
            
        f_method(outStr,o);
            
             
        }
    }function f_method(outStr,o){
      for(i=1;i<=o;i++){
                outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
                outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
                outStr+='上传图'+i+':无';
                outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
            }
            var nd = document.createElement('div');//加个div
    nd.id = "ndId";
            nd.innerHTML = outStr;
            document.getElementById('oPid').appendChild(nd);
    }
    window.onload = function(){oPic()}
    </script>
    </head>
    <body>
    <font color="red">本示例演示图片批量上传:</font>
    <hr />
    <form name="myfrom" method="post" action="">
    数量:<input type="text" name="oNum" id="oNum" size="5" value="3" onkeypress="JHshNumberText(event);"/> 只能是数字 <input type="button" name="obutton" value="设置" onclick="oPic();" /><br /><br />
    <div id="oPid"></div>
      <input name="submit" type="submit" value="提交" />
    </form>
    </body>
    </html>问题已帮你解决,加以完善。请测试。
      

  17.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
    <head>
    <title>图片批量上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style type="text/css">
    body,form,input{font-size: 12px;}
    hr{size:1px;width:50%;text-align:left;}
    </style>
    <script language="javascript" type="text/javascript">
    //居中弹出窗体 
    function getwindow(URL,width,height){
        window.open(URL,'','width='+width+',height='+height+',top='+(screen.height-height)/2+',left='+(screen.width-width)/2); 
    }
    function JHshNumberText(e){
        var ev = window.event || e;//fit firefox
        if ( !(((ev.keyCode >= 48) && (ev.keyCode <= 57)) 
        || (ev.keyCode == 13) || (ev.keyCode == 46) 
        || (ev.keyCode == 45)))
        {
            //ev.keyCode = 0 ;//ev.keycode不能设置。。what r you want?
        }
      
    }
    var iNum = 0;
    var t = 0;
    function oPic(){
       
      if(document.getElementById('oPid')!=null)
       document.getElementById('oPid').innerHTML="";
        var i = 1;
        var outStr = '';
        var maxNum = 10;
      var o = document.getElementById('oNum').value;
         
        if(o=='' || o==null || o==0){
            document.getElementById('oNum').value = 3;
    f_method(outStr,o);
        }
        
        if(o>maxNum){
          o = t ;
             f_method(outStr,o);
      alert('每次最大允许上传'+maxNum+'个文件'); 
     document.getElementById('oNum').value = o;
     
        }    else{
            
        f_method(outStr,o);
            
             
        }
    t = o;
     
    }function f_method(outStr,o){
      for(i=1;i<=o;i++){
                outStr+='源图片'+i+':<input type="text" name="Ad_Pic" id="Ad_Pic'+i+'" size="60"/><br />';
                outStr+='缩略图'+i+':<input type="text" name="Ad_Pic_S" id="Ad_Pic'+i+'_S" size="60" readonly="readonly"/><br />';
                outStr+='上传图'+i+':无';
                outStr+='图说明'+i+':<input type="text" name="Pic_Memo" size="60"/><hr /><br />';
            }
            var nd = document.createElement('div');//加个div
    nd.id = "ndId";
            nd.innerHTML = outStr;
            document.getElementById('oPid').appendChild(nd);
    }
    window.onload = function(){oPic()}
    </script>
    </head>
    <body>
    <font color="red">本示例演示图片批量上传:</font>
    <hr />
    <form name="myfrom" method="post" action="#">
    数量:<input type="text" name="oNum" id="oNum" size="5" value="3" onkeypress="JHshNumberText(event);"/> 只能是数字 <input type="button" name="obutton" value="设置" onclick="oPic();" /><br /><br />
    <div id="oPid"></div>
      <input name="submit" type="submit" value="提交" />
    </form>
    </body>
    </html>你再测试一下。