for (i=0;i<intCounter;i++) { document.all("cboName").remove(0); //这里必须用0,为什么想想就知道了 }
for(i=0;i<10;i++) //改称需要的循环 { var objOption=document.createElement("OPTION"); document.all("cboName").options.add(objOption); objOption.innerText=i; objOption.value=i; }
to wanghr100(灰豆宝宝.net(多爱我一天)): oBao.open("POST","Server.asp?sel="+str,false); 如果这样的话,那我岂不是还要刷新jsp页面?
<SCRIPT LANGUAGE="JavaScript">
function getData() { var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // 异步调用 xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) // 调用完毕 { if (xmlhttp.status == 200) // 加载成功 { var xmldoc = xmlhttp.responseXML; var root = xmldoc.documentElement; alert (xmldoc.xml); } } } var url = 'xml.asp'; xmlhttp.open("get", url, true); xmlhttp.send(); }
</SCRIPT> <BODY>异步调用 xmlhttp 取后台数据 <input type="button" value="GetData" onclick="getData()"> <% dim i, xmlxml = "<?xml version='1.0' encoding='gb2312' ?>" xml = xml & "<data>"for i = 1 to 50 xml = xml & "<record>记录" & i & "</record>" nextxml = xml & "</data>"response.ContentType = "text/xml" response.write xml %>
to wanghr100(灰豆宝宝.net(多爱我一天)): oBao.open("POST","Server.asp?sel="+str,false); 如果这样的话,那我岂不是还要刷新jsp页面?-------------------------这种方法是利用XMLHTTP来取得返回值,不会刷新页面的.
echo "<script language='javascript'>\n";
echo "var array=[];\n";
while(list($k,$v)=each($array1)){
echo "array['".$k."']='".$v."';\n";
}
echo "</script>\n";
将数组的值连成字符串传给JS变量,然后在JS中split
................................................
是不是有点麻烦,因为我的数据量比较大to afoskoo(暂停打印) :
可惜我不懂php。不过还是要谢谢几位
循环JSP的数组,将其值输出并传给JS数组
在服务器端response.write "var var1=..."类似的意思
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript" type="text/JavaScript">
var array1 = new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14")
function starwu(i) {
i.length = array1.length;
for(var a=0; a<array1.length;a++) {
i.options[a].text = array1[a];
i.options[a].value = array1[a];
}
}
</script>
</head>
<body>
例表1:<select name="select1" onChange="starwu(select2)">
<option value="1">1</option>
<option value="2">2</option>
</select>
例表2:<select name="select2">
<option value="1">1</option>
</select>
</body>
</html>
代码看我上面的回复!
http://dev.csdn.net/develop/article/28/28324.shtm
oBao.send();是什么意思?有没有生成xml文档?如果生成了xml文档,是放在客户端还是服务器端的?
这是发送请求,发比我们直接在地址栏上面输入 http://localhost/Server.asp?sel=ttt发送请求,然后,返回值.可以生成xml文档啊.生成后,是传到客户端的.
<?xml version="1.0" encoding="gb2312"?>
<citys>
<%
function OpenDB(sdbname)
{
/*
*--------------- OpenDB(sdbname) -----------------
* OpenDB(sdbname)
* 功能:打开数据库sdbname,返回conn对象.
* 参数:sdbname,字符串,数据库名称.
* 实例:var conn = OpenDB("database.mdb");
* author:wanghr100(灰豆宝宝.net)
* update:2004-5-12 8:18
*--------------- OpenDB(sdbname) -----------------
*/
var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
var conn = Server.CreateObject("ADODB.Connection");
conn.Open(connstr);
return conn;
}
var oConn = OpenDB("data.mdb");
var province = Request("sel");
var arrResult = new Array();
var sql = "select city from china where province='"+province+"'";
var rs = Server.CreateObject("ADODB.Recordset");
rs.Open(sql,oConn,1,1);
while(!rs.EOF)
{
//遍历所有适合的数据放入arrResult数组中.
Response.Write("<city>" + rs("city").Value + "</city>");
rs.MoveNext();
}
//escape解决了XMLHTTP。中文处理的问题.
//数组组合成字符串.由","字符串连接.
//Response.Write(escape(arrResult.join(",")));
%>
</citys>
intCounter=document.all("cboName").options.length
for (i=0;i<intCounter;i++)
{
document.all("cboName").remove(0); //这里必须用0,为什么想想就知道了
}
for(i=0;i<10;i++) //改称需要的循环
{
var objOption=document.createElement("OPTION");
document.all("cboName").options.add(objOption);
objOption.innerText=i;
objOption.value=i;
}
oBao.open("POST","Server.asp?sel="+str,false);
如果这样的话,那我岂不是还要刷新jsp页面?
function getData()
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // 异步调用
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4) // 调用完毕
{
if (xmlhttp.status == 200) // 加载成功
{
var xmldoc = xmlhttp.responseXML;
var root = xmldoc.documentElement; alert (xmldoc.xml);
}
}
} var url = 'xml.asp';
xmlhttp.open("get", url, true);
xmlhttp.send();
}
</SCRIPT>
<BODY>异步调用 xmlhttp 取后台数据
<input type="button" value="GetData" onclick="getData()"> <%
dim i, xmlxml = "<?xml version='1.0' encoding='gb2312' ?>"
xml = xml & "<data>"for i = 1 to 50
xml = xml & "<record>记录" & i & "</record>"
nextxml = xml & "</data>"response.ContentType = "text/xml"
response.write xml
%>
<customers>
<customer>
<name>张三</name>
<custID>1</custID>
</customer>
<customer>
<name>李四</name>
<custID>2</custID>
</customer>
<customer>
<name>王二</name>
<custID>3</custID>
</customer>
</customers>
</XML>绑定到表格:
<br>
<table datasrc="#XMLID" border="1">
<tr>
<td>
<input datafld="custID">
<input datafld="name">
</td>
</tr>
</table><br>
绑定到下拉列表:
<br>
<select id="sel" style="width:100;" onchange="alert(this.value);">
</select><script language="JavaScript">
var xmlroot = document.all.XMLID.XMLDocument.documentElement;
for (var i = 0; i < xmlroot.childNodes.length; i++)
{
sel.options[sel.options.length] = new Option (
xmlroot.childNodes[i].selectSingleNode('name').text,
xmlroot.childNodes[i].selectSingleNode('custID').text);
}
</script>
oBao.open("POST","Server.asp?sel="+str,false);
如果这样的话,那我岂不是还要刷新jsp页面?-------------------------这种方法是利用XMLHTTP来取得返回值,不会刷新页面的.