2)javascript 直接读取数据库,取数据库中的记录写入javascript中,然后和第一种方法一样,调用javascript函数循环写入下拉框中。此方法将数据源与javascript分开,但,公开数据库的连接,从安全角度说,没有多少实用价值。 我的方法是将下拉框中的数据放在XML文件中,用javascript读XML文件,取得下拉框中的内容。
HTML 文件如下: <!-- myfile.html -->
以下是引用片段: <html> <head> <script language="JavaScript" for="window" event="onload"> var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); var i=0; var j=0; var subclass_name=""; loadXML(); function loadXML(){ xmlDoc.async="false"; xmlDoc.load("account.xml"); xmlObj=xmlDoc.documentElement; nodes = xmlDoc.documentElement.childNodes; document.frm.mainclass.options.length = 0; document.frm.subclass.options.length = 0; for (i=0;i<xmlObj.childNodes.length;i++){ labels=xmlObj.childNodes(i).getAttribute("display_name"); values=xmlObj.childNodes(i).text; document.frm.mainclass.add(document.createElement("OPTION")); document.frm.mainclass.options[i].text=labels; document.frm.mainclass.options[i].value=values; } }
</script> <script language="JavaScript" > var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); var i=0; var j=0; function deleteOption() { } function setsubclass(main){ var is_selected="N"; if (document.frm.subclass.options.length!=0) { for (i=0;i<=document.frm.subclass.options.length;i++) document.frm.subclass.options[i]=null ; } //重复才有效 if (document.frm.subclass.options.length!=0) { for (i=0;i<=document.frm.subclass.options.length;i++){ document.frm.subclass.options[i]=null ; document.frm.subclass.options.remove(i); } }
for (i=0;i<xmlObj.childNodes.length;i++){ var values=""; var lables=""; if (is_selected=="Y") return; labels=xmlObj.childNodes(i).getAttribute("display_name"); values=xmlObj.childNodes(i).text; //alert(labels+ " | "+main); if (labels==main){ is_selected="Y"; for (j=0;j<xmlObj.childNodes(i).childNodes.length;j++){ //subclass_name="document.frm.subclass"; labels=xmlObj.childNodes(i).childNodes(j).getAttribute("display_name"); values=xmlObj.childNodes(i).childNodes(j).text; //alert(values); document.frm.subclass.add(document.createElement("OPTION")); document.frm.subclass.options[j].text=labels; document.frm.subclass.options[j].value=values; } } } } </script> <title>在HTML中调用XML数据</title> </head> <body bgcolor="#FFFFFF"> <FORM > 类型<SELECT ></SELECT> <option selected value="" ></option> 子类<SELECT ></SELECT> </form> </body> </html> |
上一页 [1] [2] [3] 下一页 |