我搞了个双击listbox的代码。。在pageload 中,用了
if(IsPostBack)
{
if(Dbclickflag.Value=="true")
ListBox_Dbclick();
}我只想双击listbox时候,才调用这个ListBox_Dbclick();可是当我单击别的
button 按钮的时候,还是会调用ListBox_Dbclick();各位老大有什么好办法。。让我单击别的按钮的时候不执行这个???但是还是要保留
上面代码(实现双击事件的代码)
if(IsPostBack)
{
if(Dbclickflag.Value=="true")
ListBox_Dbclick();
}我只想双击listbox时候,才调用这个ListBox_Dbclick();可是当我单击别的
button 按钮的时候,还是会调用ListBox_Dbclick();各位老大有什么好办法。。让我单击别的按钮的时候不执行这个???但是还是要保留
上面代码(实现双击事件的代码)
<form id="form1" runat="server">
<SELECT id="selOne" ondblclick="window.form1.getdblclick.value='Y';window.form1.submit();"
size="15">
<OPTION value="sadfsadf">asdfsadf</OPTION>
<OPTION value="asdfasd">sadf</OPTION>
<OPTION value="sadfasdf">asdfsadf</OPTION>
<OPTION value="asdfasdf">sadfasdf</OPTION>
</SELECT><INPUT type="hidden" runat="server" id="getdblclick" name="getdblclick">
</form>
服务器端:
public void Page_Load(object sender, System.EventArgs e)
{
if (getdblclick.Value=="Y")
{
ListBox_Dbclick();
getdblclick.Value="F";
}
}
正解
在客户端是有这事件的.
你设置一个隐藏表单:<INPUT type="hidden" runat="server" id="getdblclick" name="getdblclick">设置一个listbox,在listbox客户端双击事件里改变这个隐藏表单的值,然后提交表单.
<SELECT id="selOne" ondblclick="window.form1.getdblclick.value='Y';window.form1.submit();"
size="15">在后置代码里根据这个隐藏表单的值判断这个listbox是否单击过:
if (getdblclick.Value=="Y")
{
ListBox_Dbclick();
getdblclick.Value="F";
}如果有则执行相应的代码,然后把这个用来做标志位的隐藏表单复位或修改为其它的值(避免因为其他的表单提交也执行这段代码)。
<!--
function getdbclick()
{
var city=document.forms[0].ListBox1.options[document.forms[0].ListBox1.selectedIndex].text
document.forms[0].getdbclick.value = document.forms[0].ListBox1.options[document.forms[0].ListBox1.selectedIndex].text;
}
-->
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form language="javascript" id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:ListBox id="ListBox1" runat="server">
<asp:ListItem Value="1">beijing</asp:ListItem>
<asp:ListItem Value="2">shanghai</asp:ListItem>
<asp:ListItem Value="3">tianjin</asp:ListItem>
</asp:ListBox></FONT> <input name="getdbclick" id="getdbclick" type="hidden">
<asp:Label id="lblMsg" style="Z-INDEX: 101; LEFT: 26px; POSITION: absolute; TOP: 96px" runat="server"></asp:Label>
<asp:Button ID="Confirm" Runat="server" Text="Confirm"></asp:Button></form>
服务器端
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if( !Page.IsPostBack)
{
ListBox1.Attributes["ondblclick"] ="getdbclick();";
}
}
private void Confirm_Click(object sender, System.EventArgs e)
{
lblMsg.Text = Request.Form.Get("getdbclick");
}