<input type=checkbox onclick="if(this.checked){document.all.HC1.value=prompt('Please input');alert(document.all.HC1.value)}">
<input type=hidden name=HC1>其他的同理

解决方案 »

  1.   

    <input type=checkbox name=C1>
    <input type=hidden name=HC1>
    <input type=checkbox name=C2>
    <input type=hidden name=HC2>
    <input type=checkbox name=C3>
    <input type=hidden name=HC3>
    <script>
    function change(){
    if(event.srcElement.checked){
    eval('document.all.H'+event.srcElement.name).value=prompt('Please input');
    alert('document.all.H'+event.srcElement.name+'的值是:'+eval('document.all.H'+event.srcElement.name).value)//使用时请删除此句
    }
    }
    var len=document.all.tags("INPUT").length
    var obj=document.all.tags("INPUT")
    for(i=0;i<len;i++){
    if(obj[i].type=="checkbox"&&obj[i].name.substr(0,1)=="C")
    obj[i].attachEvent('onclick',change)
    }
    </script>
      

  2.   

    <input type=checkbox name=C1>
    <input  name=HC1>
    <input type=checkbox name=C2>
    <input  name=HC2>
    <input type=checkbox name=C3>
    <input  name=HC3><script>
    function window::onload(){
        var colls=document.all.tags("INPUT");
        var collnum=colls.length;
        var el=null;
        var doClick=function(){
        var elHidden=eval('H'+event.srcElement.name);
                if(event.srcElement.checked) elHidden.value=prompt('')
    }
        for(var i=0;i<collnum;i++){
    el=colls[i]
    if (!/^checkbox$/i.test(el.type)) continue;
    el.attachEvent("onclick",doClick);
       }  
    }
    </script>
      

  3.   

    Eval 函数
    请参阅
    Execute 语句
    要求
    版本5
    计算一个表达式的值并返回结果。[result = ]Eval(expression)
    参数
    result 
    可选项。是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 Execute 语句代替。 
    expression 
    必选项。可以是包含任何有效 VBScript 表达式的字符串。 
    说明
    在 VBScript 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释是测试 x 和 y 是否相等。如果相等,result 为 True;否则 result 为 False。Eval 方法总是采用第二种解释,而 Execute 语句总是采用第一种。注意   在Microsoft&reg; JScript&#8482; 中不存在这种比较与赋值的混淆,因为赋值运算符 (=) 与比较运算符 (==) 不同。
    下面的例子说明了 Eval 函数的用法: Sub GuessANumber
       Dim Guess, RndNum
       RndNum = Int((100) * Rnd(1) + 1)
       Guess = CInt(InputBox("Enter your guess:",,0))
       Do
          If Eval("Guess = RndNum") Then
             MsgBox "祝贺你!猜对了!"
             Exit Sub
          Else
             Guess = CInt(InputBox("对不起,请再试一次",,0))
          End If
       Loop Until Guess = 0
    End Sub