怎么取得dropdownlist选中的值?大家救救我啊,我搞了一天了。

poily 2007-04-12 05:43:02
我找了用一个js 脚本(main.js),一个xml文件(serverDoc.xml)做的两个dropdownlist无刷新联动,要把其选中的值保存到数据库,可怎么也取不到选中的值。大家指点下怎么取得其选中的值。
// JScript 文件
/*main.js
var http_request=false;
var localPro;
var localCity;
var returnXML;
var returnText;
function initVar()
{
localPro=document.getElementById("province");
localCity=document.getElementById("city");
}
function createXMLHttp()
{
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
function sendRequest()
{
initVar();
createXMLHttp();
http_request.onreadystatechange = processRequest;
http_request.open("GET","serverDoc.xml", true);
http_request.send(null);
}
function processRequest()
{
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
document.getElementById("statusTxt").innerHTML="";
setProvince();
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}else {//只要未读取完成
document.getElementById("statusTxt").innerHTML="正则读取数据中……";
}
}
function setProvince()
{
returnText=http_request.responseText;
returnXML=http_request.responseXML;
var pro=returnXML.getElementsByTagName("title");
var citys=returnXML.getElementsByTagName("item");
var cityNodes=citys[0].getElementsByTagName("city");
enterValue(pro,localPro);
enterValue(cityNodes,localCity);
outputAll();
}
function loadCity()
{
var index=localPro.selectedIndex;
var cityNode=returnXML.getElementsByTagName("item");
var curCity=cityNode[index];
var cityNodes=curCity.getElementsByTagName("city");
enterValue(cityNodes,localCity);
outputAll();
}
function enterValue(cell,place)
{
clearPreValue(place);
for(i=0;i<cell.length;i++){
var obj= document.createElement("option");
var doc=document.createTextNode(cell[i].firstChild.nodeValue);
obj.appendChild(doc);
place.appendChild(obj);
}
}
function clearPreValue(pc)
{
while(pc.hasChildNodes())
pc.removeChild(pc.childNodes[0]);
}
function outputAll ()
{
var cellValue= localPro.options[localPro.selectedIndex].firstChild.nodeValue+localCity.options[localCity.selectedIndex].firstChild.nodeValue;
document.getElementById("district").value=cellValue;
}

xml文件:
<?xml version="1.0" encoding="GBK"?>
<china>
<province>
<title>北京</title>
<item>
<city>东城</city>
<city>西城</city>
</item>
</province>
<province>
<title>上海</title>
<item>
<city>黄浦</city>
<city>卢湾</city>
</item>
</province>
<province>
<title>其它</title>
<item>
<city>北美洲</city>
<city>大洋洲</city>
</item>
</province>
</china>

测试页面:
<script language="JavaScript" type="text/javascript" src="main.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body onload="sendRequest();">
<form id=form1 runat=server><div id="statusTxt"> </div>
<asp:DropDownList ID="province" runat="server" onchange="javascript:loadCity();" Width="98px"></asp:DropDownList>
<asp:dropdownlist ID="city" runat="server" onchange="javascript:outputAll();" Width="100px"></asp:dropdownlist>
</form>
</body>
</html>
...全文
764 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomatian 2007-04-13
  • 打赏
  • 举报
回复
function initVar()
{
localPro=document.getElementById("province");
localCity=document.getElementById("city");
}
.net控件在html里看到的不是这个ID了。应该是document.getElementById("<%=province.ClientID%>")这样才能获得这个控件的ID
poily 2007-04-13
  • 打赏
  • 举报
回复
谢谢大家的指点,我用Request.Form[ "province "] 解决了问题。可是预览后网页上有错误,说是“ 'document.getElenentById(...)'为空或不是对象 ”
这是为什么,请指点。尤其感谢“sos110(忙糊涂了)”“net_lover(【孟子E章】) ”
cceon 2007-04-12
  • 打赏
  • 举报
回复
帮你顶一下
neillove 2007-04-12
  • 打赏
  • 举报
回复
帮顶了
s_liangchao1s 2007-04-12
  • 打赏
  • 举报
回复
.selected.value
孟子E章 2007-04-12
  • 打赏
  • 举报
回复
服务器端使用Request.Form["select控件的名字得到"]
孟子E章 2007-04-12
  • 打赏
  • 举报
回复
Request.Form["province"]

zhqs1000 2007-04-12
  • 打赏
  • 举报
回复
province.selectde.value
selectedindex你看看有好几个这样的属性
zhqs1000 2007-04-12
  • 打赏
  • 举报
回复
form id=form1 runat=server>
<%--<select name="province" id="province" onchange="javascript:loadCity();" runat=server>
<option value="0" selected="selected">请选择</option>
</select>
<select name="city" id="city" onchange="javascript:outputAll();" runat=server>
<option value="0" selected="selected">请选择</option>
</select> --%>
<div id="statusTxt"> </div> </form>
这样直接用 selectde.value
triffang 2007-04-12
  • 打赏
  • 举报
回复
localPro=document.getElementById("province").value;
localCity=document.getElementById("city").value;
poily 2007-04-12
  • 打赏
  • 举报
回复
前台我这样写,用Request.form[ " "]如何取,能否说的更清楚点,谢谢了!
<form id=form1 runat=server>
<%--<select name="province" id="province" onchange="javascript:loadCity();" runat=server>
<option value="0" selected="selected">请选择</option>
</select>
<select name="city" id="city" onchange="javascript:outputAll();" runat=server>
<option value="0" selected="selected">请选择</option>
</select> --%>
<div id="statusTxt"> </div> </form>
poily 2007-04-12
  • 打赏
  • 举报
回复
前台我这样写,用Request.form[ " "]如何取,能否说的更清楚点,谢谢了!
<form id=form1 runat=server>
<%--<select name="province" id="province" onchange="javascript:loadCity();" runat=server>
<option value="0" selected="selected">请选择</option>
</select>
<select name="city" id="city" onchange="javascript:outputAll();" runat=server>
<option value="0" selected="selected">请选择</option>
</select> --%>
<div id="statusTxt"> </div> </form>
WNASP 2007-04-12
  • 打赏
  • 举报
回复
你的代码我没看,不过从你的文字内容我已经明白什么意思了
你的dropdownlist是服务器控件,转换成html(<select></select>)以后,再用JS操作它的option从界面上看是没有问题的,但是后台程序是不认识他的option的,他不是后台对象,所以这样是没办法的

解决办法1:在后台不用dropdownlist,直接拼写<select><option></option></select>,最后后台通过Request.form[""]获取
解决办法2:选中一个值后仍然可以使用Request.form[""]获取,但要注意它的Name,因为Request.form是通过Name获取的
解决办法3:选中一个值以后,用JS操作的,同时把这个值保存在一个隐藏域里面,再去获取
sos110 2007-04-12
  • 打赏
  • 举报
回复
=============================================================================
.net技术交流群 QQ:8793209,欢迎职业的程序员加入讨论交流!
基于滑模SMC-PID的二自由度机械臂轨迹跟踪控制仿真(Simulink仿真、Matlab代码)内容概要:本文详细介绍了基于滑模SMC-PID的二自由度机械臂轨迹跟踪控制仿真研究,结合Simulink仿真与Matlab代码实现,旨在复现相关期刊论文的核心内容。文中重点探讨了滑模控制(SMC)与PID控制相结合的复合控制策略在机械臂轨迹跟踪中的应用,通过设计合理的滑模面与控制律,提升系统对参数不确定性及外部干扰的鲁棒性,同时利用PID调节增强控制精度与动态响应性能。仿真模型构建完整,涵盖机械臂动力学建模、控制器设计、轨迹规划与跟踪效果可视化等环节,验证了所提控制方法的有效性与优越性。; 适合人群:具备自动控制理论基础、熟悉Matlab/Simulink环境,从事机器人控制、机电一体化或相关方向研究的研究生及科研人员。; 使用场景及目标:①学习并掌握滑模控制与PID融合的控制策略设计方法;②复现经典控制算法在机械臂轨迹跟踪中的仿真过程;③为科研项目或课程设计提供可参考的代码与实现框架; 阅读建议:建议读者结合文档目录顺序逐步学习,重点关注控制器设计原理与Simulink模块搭建细节,动手运行并调试配套代码,深入理解各参数对系统性能的影响,进而实现自主改进与优化。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧