唉,我也不懂啊!!好像是:
var sColor = dlgHelper.ChooseColorDlg();
这句有问题,参数不对吧?

解决方案 »

  1.   

    在一般的页面可以,但是在ASP.NET上就不行.
      

  2.   

    看看这个:
    <%@ Page language="c#" Codebehind="MyTest.aspx.cs" AutoEventWireup="false" Inherits="Ringierco.MyTest" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
    <title>MyTest</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language="javascript">
    function callColorDlg(){
    var sColor = dlgHelper.ChooseColorDlg();
    sColor = sColor.toString(16);
    if (sColor.length < 6) {
    var sTempString = "000000".substring(0,6-sColor.length);
    sColor = sTempString.concat(sColor);
    }
    document.execCommand("ForeColor", false, sColor);
    return "#" + sColor; 
    }
    </script><OBJECT id=dlgHelper height=0px width=0px 
    classid=clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b>
    </OBJECT>
    </HEAD>
    <BODY>
    <form id="Form1" method="post">
    <input type="submit" name="Submit" value="用调色板选择颜色" onClick="txtWebColor.value =callColorDlg()">
    <input type="text" name="txtWebColor" id="textarea" value = "#CCC000" onClick="callColorDlg()">
    </form></FONT>
    </BODY>
    </HTML>
      

  3.   

    不好意思,上面的代码不小心改错了,下面这个:
    调色板还是打不开:<%@ Page language="c#" Codebehind="MyTest.aspx.cs" AutoEventWireup="false" Inherits="Ringierco.MyTest" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>MyTest</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language="javascript">
    function callColorDlg(){
    var sColor = dlgHelper.ChooseColorDlg();
    sColor = sColor.toString(16);
    if (sColor.length < 6) {
    var sTempString = "000000".substring(0,6-sColor.length);
    sColor = sTempString.concat(sColor);
    }
    document.execCommand("ForeColor", false, sColor);
    return "#" + sColor; 
    }
    </script>
    <OBJECT id="dlgHelper" height="0px" width="0px" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b">
    </OBJECT>
    </HEAD>
    <BODY>
    <INPUT type="text" name="txtColor"><INPUT type="submit" value="Submit" onclick="callColorDlg()">
    </BODY>
    </HTML>
      

  4.   

    哈, 兄弟,谢谢你了!!你那个input的样式.我搞了半天就是不知道,现在终于把这个问题解决了.(有点像静态文本框)
      

  5.   

    我找到原因了,这里发给大家做个参考:
    关键是这里:
    <OBJECT id=dlgHelper height=0px width=0px classid=clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b></OBJECT>
    这行代码要放在:
    <Html>
    <object>...</object>  // 就是这个地方才可以用
    <head>
    </head>
    ...
    </Html>
      

  6.   

    答案我自己找到了,只要把
     <OBJECT  id="dlgHelper"  height="0px"  width="0px"  classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"  
                                       VIEWASTEXT>  
                           </OBJECT>  放到网页最顶就OK了。