aspx页面javascript的几个trick
|
日期:2005年10月31日 作者: 查看:[大字体
中字体 小字体]
|
<script language="javascript"> function fcn1() { prompt("hi", "fcn1"); } </script> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="WebForm2" method="post" runat="server" onsubmit="fcn1();"> <asp:Button id="Button1" style="Z-INDEX: 103; LEFT: 423px; POSITION: absolute; TOP: 83px" runat="server" Width="86px" Height="29px" Text="Button"></asp:Button> <asp:DropDownList id="DropDownList1" style="Z-INDEX: 104; LEFT: 284px; POSITION: absolute; TOP: 163px" runat="server" Width="188px" Height="17px" AutoPostBack="True"> <asp:ListItem Value="a">a</asp:ListItem> <asp:ListItem Value="b">b</asp:ListItem> <asp:ListItem Value="c">c</asp:ListItem> </asp:DropDownList> </form> </body> </HTML>
内容很简单,定义了一个javascript函数fcn1,放了一个Button Button1和一个autopostback的Dropdownlist DropDownList1,运行它,可以看到:点击Button1,会先执行fcn1然后postback,而选择DropDownList1的不同选项,将只会postback,而不会触发fcn1。
微软autopostback=true的webcontrol实现postback,原理是这样的:
一、如果此aspx页面有autopostback=true的webcontrol,那么会写下面一段javascript语句定义一个叫__doPostBack的javascript函数。
<script language="javascript"> <!-- function __doPostBack(eventTarget, eventArgument) { var theform; if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) { theform = document.forms["WebForm2"]; } else { theform = document.WebForm2; } theform.__EVENTTARGET.value = eventTarget.split("$").join(":"); theform.__EVENTARGUMENT.value = eventArgument; theform.submit(); } // --> </script>
二、例如是上面的dropdownlist,将会render成: <select name="DropDownList1" onchange="__doPostBack('DropDownList1','')" language="javascript" id="DropDownList1" style="..."> <option value="a">a</option> <option value="b">b</option> <option value="c">c</option> </select>
上一篇:ASP教程
下一篇:使用正则表达式实现模式图片新闻.ASP
|
| aspx页面javascript的几个trick 相关文章: |
|
|
|
| aspx页面javascript的几个trick 相关软件: |
|
|
|