比如说:
<select name="abc">
<option value="11" abc="111111">分类一</option>
</select>我们可以这样得到它的值
request("name")
现在我想得到扩展属性abc的值,有什么办法
请高手回答,一般的人就不要答了,这个相对来说还是很难的.
<select name="abc">
<option value="11" abc="111111">分类一</option>
</select>我们可以这样得到它的值
request("name")
现在我想得到扩展属性abc的值,有什么办法
请高手回答,一般的人就不要答了,这个相对来说还是很难的.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
<style type="text/css">
/* <![CDATA[ *//* ]]> */
</style>
<script type="text/javascript">
//<![CDATA[
if (navigator.appName=="Microsoft Internet Explorer") {
//最大化窗口
self.moveTo(-5,-5)
self.resizeTo(screen.availWidth +8,screen.availHeight+8)
//这个脚本定义的宽度其实比原窗口还要大那么一点.
}
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
onload =
function()
{
var sRange = document.getElementsByName("abc");
var sle = sRange[0];
alert(sle.options[0].attributes["abc"].value)
}
//]]>
</script>
</head>
<body>
<select name="abc">
<option value="11" abc="111111">分类一</option>
</select>
</body>
</html>
你可以考虑这样 <option value="11:111111">分类一</option>然后 split :要不然以ASP 是不可能实现的...
难道select里面,真的没有办法了吗?
要不这样看行不行,我主要是大类用了分组的属性,<optgroup label="<%=rs("ClassName")%>">
只要得到这个分组的值也是一样.
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><body>
<select id="abc11"><option value="11" abc="111111">分类一</option>
</select>
</body>
</html>
<script language="JavaScript1.2">
<!--
alert(document.getElementsByTagName('option')[0].abc);
or
alert(document.getElementById('abc11').childNodes[0].abc)//使用节点来操作的时候,IE空格也会被认为是一个节点,哪么请确保select后面是否有空格。//-->
</script>
不过像ASP是不可能做得到的, 但如果用ASP.NET 还是蛮容易的...
test.asp代码如下:
<form action="test2.asp" method="post" name="form1" onSubmit="return tj()">
<select name="abc">
<option value="11" abc="111111">分类一</option>
<option value="12" abc="赶快结贴给分">分类二</option>
</select>
<input name="" type="submit" value="提交">
</form>
<script>
function tj()
{ try
{
var obj=document.getElementsByName("abc")[0];
for(var i=0;i<obj.options.length;i++)
{
if(obj.options[i].value==obj.value)
{
abc=obj.options[i].getAttribute("abc");
document.getElementsByName("form1")[0].action="test2.asp?abc="+escape(abc);
return true;
}
}
}
catch(e)
{
alert(e);
return false;
}
}
</script>接收页面的代码如下:
<%
Response.Write("原本的abc:"&request.Form("abc"))
Response.Write("<BR>")
Response.Write("扩展的abc:"&request.QueryString("abc"))
%>测试结果如下:原本的abc:12
扩展的abc:赶快结贴给分
其他的方法还没想到
'试试这样
IsPost=CBool(UCase(Request.ServerVariables("REQUEST_METHOD"))="POST")
If isPost Then
Dim a
a=Request.Form.count
For i=1 to a
Dim kName
kName=Request.Form.key(i)
Response.Write(kName & "=" & Request.Form(kName)& "<br />")
Next
End if
%>
<html>
<head>
<title>Post test</title>
</head>
<body>
<form method="post">
<select name="add">
<option value="1">a</option>
<option value="2">b</option>
</select>
<input type="submit" />
</form>
</body>
</html>