var flashpaper = new Array();
flashpaper[0] = "../images/01.swf";
flashpaper[1] = "../images/02.swf";
flashpaper[2] = "../images/03.swf";
var flashpapername ="";
var innerHTML     =  '\<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="619" height="395" title="kechengkejian">\
                    <param name="movie"  value="'+flashpapername+'">\
                    <param name="quality" value="high">\
                    <embed  src="'+flashpapername+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="619" height="395" ></embed>\
                  </object>';
              
function changeFlash1()
{   
flashpapername=flashpaper[0];
alert(flashpapername);
document.getElementById("flashpaperplay").innerHTML=innerHTML;
alert(innerHTML); 

}
function changeFlash2()
{
flashpapername=flashpaper[1];
document.getElementById("flashpaperplay").innerHTML=innerHTML;

}
function changeFlash3()
{
flashpapername=flashpaper[2];
document.getElementById("flashpaperplay").innerHTML=innerHTML;

}[code=JScript]当发生单击事件时执行changeFlash函数,但是用alert调试发现innerHTML里面的值没有改变,也就是说innerHTML字符串变量里的flashpapername变量还是默认是为空!这是怎么回事啊!!请大侠指教

解决方案 »

  1.   


    var flashpaper = new Array();
        flashpaper[0] = "../images/01.swf";
        flashpaper[1] = "../images/02.swf";
        flashpaper[2] = "../images/03.swf";
    var flashpapername ="";
    function createInnerHTML(fpname){
        var innerHTML =  '\<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="619" height="395" title="kechengkejian">\
                        <param name="movie"  value="'+flashpapername+'">\
                        <param name="quality" value="high">\
                        <embed  src="'+fpname+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="619" height="395" ></embed>\
                      </object>';
       return innerHTML;
    }function changeFlash(index){
        document.getElementById("flashpaperplay").innerHTML=createInnerHTML(flashpaper[index]);
    }
    function changeFlash1(){
        changeFlash(1);
    }
    function changeFlash2(){
        changeFlash(2);
    }
    function changeFlash3(){
       changeFlash(3);
    }
      

  2.   

    <script>
    var flashpaper = new Array();
        flashpaper[0] = "../images/01.swf";
        flashpaper[1] = "../images/02.swf";
        flashpaper[2] = "../images/03.swf";
    var flashpapername ="";
    function setHtml(flashpapername) {
        var innerHTML = '\<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="619" height="395" title="kechengkejian">\
                        <param name="movie"  value="' + flashpapername + '">\
                        <param name="quality" value="high">\
                        <embed  src="' + flashpapername + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="619" height="395" ></embed>\
                      </object>';
        return innerHTML;
    }      
                  
    function changeFlash1()
        {   
            flashpapername=flashpaper[0];
            alert(flashpapername);
            document.getElementById("flashpaperplay").innerHTML = setHtml(flashpapername);
            alert(document.getElementById("flashpaperplay").innerHTML); 
            
        }
    function changeFlash2()
        {
            flashpapername=flashpaper[1];
            document.getElementById("flashpaperplay").innerHTML=innerHTML;
            
        }
    function changeFlash3()
        {
            flashpapername=flashpaper[2];
            document.getElementById("flashpaperplay").innerHTML=innerHTML;
            
        }
        </script>
        <div id="flashpaperplay"></div>
        <input id="aa" onblur="changeFlash1()" />
        
      

  3.   

    得到innerHTML之后,先innerHTML = "";