<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>在线运行代码</title>
<style type="text/css">
body,td,th {font-size: 12px;}
</style>
</head>
<body>
<script language="javascript">
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_saf = userAgent.indexOf('applewebkit') != -1 || navigator.vendor == 'Apple Computer, Inc.';
var is_webtv = userAgent.indexOf('webtv') != -1;
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera && !is_saf && !is_webtv) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
//运行代码
function runCode(obj)
{
       var winname = window.open('', "_blank", '');
       winname.document.open('text/html', 'replace');
       winname.opener = null; // 防止代码对论谈页面修改
       winname.document.write(obj.value);
       winname.document.close();
}
//另存代码
function saveCode(obj) {
       var winname = window.open('', '_blank', 'top=10000');
       winname.document.open('text/html', 'replace');
       winname.document.write(obj.value);
       winname.document.execCommand('saveas','','HtmlCode.html');
       winname.close();
}
//复制代码
function copycode(obj)
{
       if(is_ie && obj.style.display != 'none')
       {
              var rng = document.body.createTextRange();
              rng.moveToElementText(obj);
              rng.scrollIntoView();
              rng.select();
              rng.execCommand("Copy");
              rng.collapse(false);
       }
}
//随机函数
function RndNum(n)
{
       var rnd="";
       for(var i=0;i<n;i++)
       rnd+=Math.floor(Math.random()*10);
       return rnd;
}
</script>
<textarea name="code111" id="code111" cols="60" rows="10">111111111</textarea>
<br />
<input type="button" onclick="runCode(code111)" value="运行代码">
<input type="button" onclick="copycode(code111)" value="复制代码">
<input type="button" onclick="saveCode(code111)" value="另存代码">
提示:您可以先修改部分代码再运行 <br>
<textarea name="code22222" id="code22222" cols="60" rows="10">22222222</textarea>
</body>
</html>问题是我如果想在同一页面运行多个。应该怎么弄呢?我这里的随机函数应该怎么放到里面去啊?
如:<textarea name="code+RndNum(5)+" id="code111" cols="60" rows="10">111111111</textarea>
<br />
<input type="button" onclick="runCode(code+RndNum(5))" value="运行代码">
<input type="button" onclick="copycode(code+RndNum(5))" value="复制代码">
<input type="button" onclick="saveCode(code+RndNum(5))" value="另存代码">到底应该怎么使用那个随机函数到里面啊?

解决方案 »

  1.   

    一般就两个方法
    document.write('<textarea ...></textarea>')
    document.write('<input type="button" ...>')var textarea = document.createElement("textarea");
    div.appendChild(textarea);
    div.appendChild(button1);
      

  2.   

    我想知道的是该怎么运行那个随机函数到
    <textarea name="code+RndNum(5)+" id="code111" cols="60" rows="10">111111111 </textarea> 
    里面去
      

  3.   

    document.write('<textarea name="code'+RndNum(5)+'" ...>111111111 </textarea>')
      

  4.   

    为什么非要在html中把这个随机函数加上那?在你运行的函数中加上就可以了呀。例如runCode函数如下:function runCode(obj,num) 
    {     obj=obj+RndNum(num);
          var winname = window.open('', "_blank", ''); 
          winname.document.open('text/html', 'replace'); 
          winname.opener = null; // 防止代码对论谈页面修改 
          winname.document.write(obj.value); 
          winname.document.close(); 
    }
     
    那么那个textarea元素就可以写成:<input type="button" onclick="runCode(code,5)" value="运行代码"> 
    不知道这个是楼主想要的效果吗?
      

  5.   

    <input type="button" onclick="runCode(code,5)" value="运行代码"> 
    没有生成随机数啊。
      

  6.   

    只是举例说明一下,js代码必须写在能执行脚本的地方,明显name="..."不可能实现如果有服务端,用服务端代码实现随机