下面这样作 不行 显示不出来 .HTC
该怎么做
<script language =javascript>
function Init()
{
 var strHTML="";
 strHTML+='<div id="mydiv" style="visibility:hidden;position:absolute;">'
 strHTML+=' <div id="tipsContent" style="width:293px;height:40px; top:25;background-color:seashell; position:relative;">'
 strHTML+=' <table id="tableMain" border="0" style="font-size:9pt;border:1px outset;background-color:threedface; cursor:default;">'
 strHTML+=' <tr height="17"> <!--第二个表行-->'
 strHTML+=' <td>'
 strHTML+=' <font size="2">&nbsp;小时</font> <input type="checkbox"  id="hourCheck" size="4" onclick="userHour()" NAME="hourCheck">'
 strHTML+=' <select id="selectHour"  NAME="selectHour">'
 strHTML+=' </select>'
 strHTML+=' <font size="2">分</font> <input type="checkbox" id="minuteCheck" size="4" onclick="userMinute()" NAME="minuteCheck">'
 strHTML+=' <select ID="SelectMinute" NAME="SelectMinute">'
 strHTML+=' </select>'
 strHTML+=' </td>'
 strHTML+=' <td>'
 strHTML+=' <font size="2">秒</font> <input type="checkbox" id="secondCheck" size="4" onclick="userSecond()" NAME="secondCheck">'
 strHTML+=' <select ID="selectSecond" NAME="selectSecond">'
 strHTML+=' </select>'
 strHTML+=' </td>'
 strHTML+=' </tr>'
 strHTML+=' <tr eeight="17">'
 strHTML+=' <td>'
 strHTML+=' <input type="button" id="now" value="现在" onclick = "nowTime()">'
 strHTML+=' </td>'
 strHTML+=' <td>'
 strHTML+=' <input type="button" id="onOk" value="确定" local="right" onclick = "onOK()">'
 strHTML+=' </td>'
 strHTML+=' </tr>'
 strHTML+=' </table>'
 strHTML+=' </div>'
 strHTML+='</div>'  
document.body.innerHTML = strHTML;
alert(strHTML);
 //var oT = document.createElement(strHTML) ;
    // document.body.appendChild(oT);}function addHourNum()
{
   for(i=0 ; i<24; i++)
   {
b=document.getElementById("selectHour");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
   }
 }
function addMinuteNum()
{
   for(i=0 ; i<60; i++)
   {

b=document.getElementById("SelectMinute");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
   }
 }
function addSecondNum()
{
   for(i=0 ; i<60; i++)
   {
b=document.getElementById("selectSecond");
var opt=new Option( i,i,true,true);
b.options[b.options.length] = opt;
   }
 }
 
 
function show(obj)
{

addHourNum();
addSecondNum();
addMinuteNum();
obj.insertAdjacentElement("beforeBegin",mydiv);
mydiv.style.visibility='visible';
alert(mydiv.style.visibility);


}
function getTime()
{
var num = 0;
num = document.getElementById("hourCheck").checked + document.getElementById("minuteCheck").checked + 
document.getElementById("secondCheck").checked;
if(num == 3)
{
return  document.getElementById("selectHour").value + ":" +  document.getElementById("selectMinute").value + ":" 
+ document.getElementById("selectSecond").value;
}
if(num == 2)
{
return  document.getElementById("selectHour").value + ":" +  document.getElementById("selectMinute").value + "min" 
}
if(num == 1)
{
return document.getElementById("selectHour").value + "hr"
}
else return "";
}
function onOK()
{
getTime();
document.getElementById("time").value = getTime() ;
mydiv.style.visibility='hidden';
}function nowTime()
{
var now;
d = new Date();
now = d.getHours() + ":";
now += d.getMinutes() + ":";
now += d.getSeconds();
document.getElementById("time").value = now;
mydiv.style.visibility='hidden';
}function userHour()
{
if( (event.srcElement.id == "hourCheck") && !(hourCheck.checked) )
{
minuteCheck.checked = false;
secondCheck.checked = false;

}
}// event小时,分,秒 选择联动 ,if user the second, as a matter of fact the hour and minute all so used! all so the rule use to Cancel
function userMinute()
{

if(event.srcElement.id == "minuteCheck") 
{
if( !(hourCheck.checked) && (minuteCheck.checked) )
{
hourCheck.checked = true;
}

if(  !(minuteCheck.checked) && (secondCheck.checked) )
{
secondCheck.checked = false;
}

}
}
// event,小时,分,秒 选择联动 ,if user the second, as a matter of fact the hour and minute all so used! all so the rule use to Cancel
function userSecond()
{
if(event.srcElement.id == "secondCheck")
{
if(!(minuteCheck.checked) && (secondCheck.checked))
{
hourCheck.checked = true;
minuteCheck.checked = true;
}

}

}
//event, if you selcet the hour select control ,the event runingvar hourNumber = 0;
function selectHour()
{
while(hourNumber <= 24 )
{
var opt = new Option(hourNumber,"value"+hourNumber,true,true);
var selectHour = document.getElementById("selectHour");
selectHour.options[selectHour.options.length] = opt;
hourNumber++;
}
}var MinuteNumber = 0;
function selectMinute()
{
while(MinuteNumber <= 60 )
{
var opt = new Option(MinuteNumber,"value"+MinuteNumber,true,true);
var selectSecond = document.getElementById("selectMinute");
selectMinute.options[SelectMinute.options.length] = opt;
MinuteNumber++;
}
}var SecondNumber = 0;
function selectSecond()
{
while(SecondNumber <= 60 )
{
var opt = new Option(SecondNumber,"value"+SecondNumber,true,true);
var selectSecond = document.getElementById("selectSecond");
selectSecond.options[selectSecond.options.length] = opt;
SecondNumber++;
}
}
</script>

解决方案 »

  1.   

    把你的所有方法照这样封装:xx.htc
    <METHOD NAME="addHourNum" INTERNALNAME="addHourNum"/>
    <script>
      .....js代码
    </script>然后导入到你的页面中
    <?IMPORT namespace="xx" implementation="XX.htc">
      

  2.   

    那段 HTML 也得进去, 关键是这
      

  3.   

    eglic(圪圪) (错过的,还能找回来么?
    你不是恍我吗?
      

  4.   

    晚上回家看电影了留下EMail,我给你发一个我写的日期选择框
    原理很简单,就是代码太长,贴不上来
      

  5.   

    我要的是 HTC 把上面封装? 让我学习下,  HTC里面也放 HTML 怎么做?(不是一个一个在函数的创建)
    老大,求了
    [email protected]
      

  6.   

    随便写一个,公司还有事情要忙
    剩下的部分你自己补齐吧HTML文件是这个,测试用的
    <?xml version="1.0" encoding="gb2312" standalone="yes"?>
    <html xmlns:v="http://www.eglic.com/">
    <head>
    <title></title>
    <meta name="Generator" content="EditPlus" />
    <meta name="Author" content="eglic" />
    <meta name="ContentType" content="text/html" />
    <meta name="CharSet" content="GB2312" />
    <link rel="stylesheet" type="text/css" href="/style/default.css" />
    <style type="text/css">
    @media all{
    .eGlic {behavior:url('eglic.htc');}
    }
    </style>
    <script language="javascript" src="/script/default.js"></script>
    <script language="javascript">
    </script>
    </head>
    <body>
    <input type="text" class="eGlic" /><br />
    <input type="text" class="eGlic" /><br />
    <input type="text" class="eGlic" /><br />
    <input type="text" class="eGlic" /><br />
    </body>
    </html>
      

  7.   

    HTC 是这个,需要补齐的是
    1、在Show()函数里面,读取文本框的值
    2、sHTML里面,几个复选框的事件处理
    3、SetValue函数里面,根据SELECT的值组合出文本筐的字符串<PUBLIC:COMPONENT ERROR="TRUE" DEBUG="TRUE">
    <PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="Initilize()" />
    <PUBLIC:ATTACH EVENT="onfocus" ONEVENT="Show()" />
    <PUBLIC:METHOD NAME="Hide" />
    <PUBLIC:METHOD NAME="SetValue" />
    <SCRIPT LANGUAGE="JSCRIPT">
    <!--
    /*
    因为同时只有一个选单出现,所以将选单作为全局对象存放
    以节省资源
    */
    window.__TimeSelectObject=null;
    var doc=element.document;
    function Initilize(){
    if(window.__TimeSelectObject) return; //如果选单已经设计好,可以跳过
    window.__TimeSelectObject=doc.createElement('<DIV style="padding:10px;position:absolute;z-index:99;display:none;background-color:buttonface;border-left:solid 2px silver;border-top:solid 2ps silver;border-right:solid 2px gray;border-bottom:solid 2px gray;">');
    var sHtml='时:<input type="checkbox" /><select>';
    for(var i=0;i<24;i++) sHtml+='<option value="'+i.toString()+'">'+i.toString()+'</option>';
    sHtml+='</select><br />'
    sHtml+='分:<input type="checkbox" /><select>';
    for(var i=0;i<60;i++) sHtml+='<option value="'+i.toString()+'">'+i.toString()+'</option>';
    sHtml+='</select><br />'
    sHtml+='秒:<input type="checkbox" /><select>';
    for(var i=0;i<60;i++) sHtml+='<option value="'+i.toString()+'">'+i.toString()+'</option>';
    sHtml+='</select><br /><br />'
    sHtml+='<button onclick="JavaScript:document.getElementById(\''+element.uniqueID+'\').Hide();">取消</button>';
    sHtml+='<button onclick="JavaScript:document.getElementById(\''+element.uniqueID+'\').SetValue();">确定</button>';
    window.__TimeSelectObject.innerHTML=sHtml;
    doc.body.appendChild(window.__TimeSelectObject);
    }
    function Show(){
    var x=0;
    var y=0;
    var e=element;
    while(e.parentElement){
    x+=e.offsetLeft;
    y+=e.offsetTop;
    e=e.parentElement;
    }
    window.__TimeSelectObject.style.left=x;
    window.__TimeSelectObject.style.top=y+element.offsetHeight;
    window.__TimeSelectObject.style.display='';
    }
    function Hide(){
    window.__TimeSelectObject.style.display='none';
    }
    function SetValue(){
    //根据选框的值,设置文本框的内容
    window.__TimeSelectObject.style.display='none';
    }
    //-->
    </SCRIPT>
    </PUBLIC:COMPONENT>