<!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">
<!--
#Layer1 {
position:absolute;
width:896px;
height:177px;
z-index:1;
left: 154px;
top: 25px;
}
#Layer2 {
position:absolute;
width:825px;
height:38px;
z-index:1;
left: 51px;
top: 69px;
}
.STYLE1 {
font-size: xx-large;
font-weight: bold;
}
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: large;
color: #999999;
}
body {
background-color: #CCCCCC;
}
.STYLE5 {font-size: 24px}
-->
</style><script language="javascript">
var Robj=document . getElementById("red").innerHTML;
var Gobj=document . getElementById("grenn").innerHTML;
var Bobj=document . getElementById("blue").innerHTML;
var Hexobj=document . getElementById("hex").innerHTML;
r=Robj.value;
g=Gobj.value;
b=Bobj.value;
function toHexColor()
{
 var hex='#';
 var hexStr = '0123456789ABCDEF';
 low = r % 16;
 high = (r - low)/16;
 hex+=hexStr.charAt(high) + hexStr.charAt(low);
 low = g % 16;
 high = (g - low)/16;
 hex+=hexStr.charAt(high) + hexStr.charAt(low);
 low = b % 16;
 high = (b - low)/16;
 hex+=hexStr.charAt(high) + hexStr.charAt(low);
 return hex;
}
function HEX()
{
Hexobj.value=toHexColor();
}
</script>
</head><body>
<div id="Layer1">
  <div id="Layer2">
    <div align="left" class="STYLE1">
      <div align="left">
    <span class="STYLE5">R:</span>
        <input name="textfield" type="text" class="STYLE5" id="red" value="125" size="3" maxlength="3" />
        <span class="STYLE5">G:</span>
      <input name="textfield2" type="text" class="STYLE5"  id="green" value="125" size="3" maxlength="3"/>
      <span class="STYLE5">B:</span>
      <input name="textfield3" type="text" class="STYLE5"  id="blue" value="125" size="3" maxlength="3"/> 
  &nbsp;
  <input name="submit" type="button" class="STYLE5" value="16进制-->"  onclick="toHexColor()"/>  
  &nbsp;
  HEX:
  <input name="textfield4" type="text" class="STYLE5" size="7" maxlength="7"  id="hex"/>
      </div>
    </div>
  </div>
</div>
</body>
</html>JS部分有问题,看了很久都找不出原因,望不吝赐教。

解决方案 »

  1.   

    额,
    <input name="submit" type="button" class="STYLE5" value="16进制-->" onclick="toHexColor()"/> 改为
    <input name="submit" type="button" class="STYLE5" value="16进制-->" onclick="HEX()"/>   
      

  2.   

    定义变量位置错,id写错,getElementById用错,调用的函数也写错了<!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">
    <!--
    #Layer1 {
    position:absolute;
    width:896px;
    height:177px;
    z-index:1;
    left: 154px;
    top: 25px;
    }
    #Layer2 {
    position:absolute;
    width:825px;
    height:38px;
    z-index:1;
    left: 51px;
    top: 69px;
    }
    .STYLE1 {
    font-size: xx-large;
    font-weight: bold;
    }
    body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: large;
    color: #999999;
    }
    body {
    background-color: #CCCCCC;
    }
    .STYLE5 {font-size: 24px}
    -->
    </style>
    </head><body>
    <div id="Layer1">
      <div id="Layer2">
      <div align="left" class="STYLE1">
      <div align="left">
    <span class="STYLE5">R:</span>
      <input name="textfield" type="text" class="STYLE5" id="red" value="125" size="3" maxlength="3" />
      <span class="STYLE5">G:</span>
      <input name="textfield2" type="text" class="STYLE5" id="green" value="125" size="3" maxlength="3"/>
      <span class="STYLE5">B:</span>
      <input name="textfield3" type="text" class="STYLE5" id="blue" value="125" size="3" maxlength="3"/>  
    &nbsp;
    <input name="submit" type="button" class="STYLE5" value="16进制-->" onclick="HEX()"/>   
    &nbsp;
    HEX:
    <input name="textfield4" type="text" class="STYLE5" size="7" maxlength="7" id="hex"/>
      </div>
      </div>
      </div>
    </div><script language="javascript">
    var Robj=document.getElementById("red");/////////////////
    var Gobj=document.getElementById("green");///////////////
    var Bobj=document.getElementById("blue");//////////////
    var Hexobj=document.getElementById("hex");///////////////////
    r=Robj.value;
    g=Gobj.value;
    b=Bobj.value;
    function toHexColor()
    {
     var hex='#';
     var hexStr = '0123456789ABCDEF';
     low = r % 16;
     high = (r - low)/16;
     hex+=hexStr.charAt(high) + hexStr.charAt(low);
     low = g % 16;
     high = (g - low)/16;
     hex+=hexStr.charAt(high) + hexStr.charAt(low);
     low = b % 16;
     high = (b - low)/16;
     hex+=hexStr.charAt(high) + hexStr.charAt(low);
     return hex;
    }
    function HEX()
    {
    Hexobj.value=toHexColor();
    }
    </script></body>
    </html>