国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js觸發asp.net的Button的Onclick事件應用

2024-05-06 14:19:41
字體:
來源:轉載
供稿:網友
在asp.net引入事件驅動之后,在一個頁面上很容易解決多個按鈕觸發不同事件的問題,避免了在asp中需要多個form或者通過js腳本來控制的麻煩。

asp.net帶來便利的同時,也帶來一個問題。在實際應用中一個頁面存在多個按鈕的情況并不多。用戶習慣于在輸入框輸入內容之后,直接按回車就提交表單了。由于asp.net采用的是事件驅動模式,所以默認用戶按回車并沒有觸發按鈕的onclick事件。用戶按回車也不是沒有提交表單,通過httpwath可以看到,實際上頁面表單是提交到了form下的action頁面,只不過沒有觸發onclick事件而已。

在asp.net事件驅動模式下面,要實現通過回車來觸發事件,必須要借助js腳本來實現。
在asp.net的aspx頁面中,form的代碼:
代碼如下:
<form id="form1" runat="server">

但在訪問頁面的源代碼中可以看到:
代碼如下:
<form name="form1" method="post" action="Default.aspx" id="form1">

所以在輸入框默認直接按回車,其實就是把表單提交到了form的action對應的頁面,而并沒有觸發任何事件。
奇怪的地方:當一個aspx頁面上沒有使用web控件的時候,在輸入框里按回車,默認是不會觸發任何一個button按鈕的onclick事件;但當頁面上有使用web控件的時候,在輸入框里按回車,默認會觸發第一個button的onclick事件?!具@里的第一指頁面代碼中最先出現的button控件,包括web控件內的button控件】
下面說說如何通過js來觸發button按鈕的onclick事件。
默認的button控件,在html中的代碼是這樣的:
代碼如下:
<input type="submit" name="Button1" value="Button" id="Button1" />

實際上點擊這個button觸發的onclick事件調用了一個js腳本:__doPostBack(eventTarget, eventArgument)
button 控件有個屬性:UseSubmitBehavior,默認是true,當你修改為false的時候,再去看html的源代碼,就能清楚的看到調用的js腳本函數。
代碼如下:
<input type="button" name="Button1" value="Button" onclick="javascript:__doPostBack('Button1','')" id="Button1" />

生成的js腳本:
代碼如下:
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1; function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit(); }
//]]>
</script>

了解了這塊內容,要處理輸入框按回車觸發button的onclick事件就簡單的多了,就是截獲輸入框按回車的這個動作,然后通過js調用__doPostBack這個函數就OK了輸入框:
代碼如下:
<input name="TextBox1" type="text" id="TextBox1" onkeydown="return KeyDown('Button1');" />
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 庆城县| 乌拉特后旗| 嫩江县| 汉川市| 明星| 施秉县| 金塔县| 夏津县| 泰兴市| 望奎县| 永春县| 汉川市| 拉萨市| 衡东县| 汉川市| 潼南县| 六盘水市| 长阳| 祥云县| 明光市| 乌鲁木齐市| 江西省| 延津县| 临泽县| 上高县| 平舆县| 水富县| 泽库县| 汉沽区| 北票市| 吉林省| 广丰县| 门源| 固原市| 卢氏县| 工布江达县| 广宁县| 宁晋县| 固安县| 闽清县| 余庆县|