2

这段代码生成一个包含两个垂直列的页面:

<frameset id="set" cols="*,*">
    <frame id="frame1" src="index.html"> 
    <frame id="frame2" src="index2.html"> 
</frameset>  

但是,我希望能够cols像这样独立设置值:

function setvalue(){   
    var framewidth=prompt("Enter the default right column width : ", "50%")
}

然后更改cols值...这是我的问题所在,我无法正确编写脚本...这是它的样子:

<Script>
  document.getElementByid["set"].cols.value = framewidth;
</script>

我哪里错了?

4

1 回答 1

3

我在您的代码中看到了一些错误:

文件。getElementById是一个函数,所以应该像这样调用它:

document.getElementById("set");

其次,当您为元素的属性设置值时,例如在您的情况下为“cols”,您应该这样做:

document.getElementById("set").cols = "20%, 80%"

我在 Firefox 中做了一个快速测试,这很有效:

<html>
<head>
   <script type="text/javascript">
      function setvalue(){   
         var framewidth=prompt("Enter the default right column width : ", "50")

         var width = parseInt(framewidth);
         width = isNaN(width) ? 50 : width;

         var val = (100 - width) + "%, " + width + "%";

         document.getElementById("set").cols = val
      }

      window.onload = setvalue;
   </script>
</head>
<frameset id="set" cols="*,*">
    <frame id="frame1" src="index.html"> 
    <frame id="frame2" src="index2.html"> 
</frameset>
</html>

将提示中的值设置为:80

于 2010-08-20T06:56:05.607 回答