本篇內(nèi)容介紹了“如何解決ASP.NET基于Ajax的Enter鍵提交問題”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供金山企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為金山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。近日遇到一個(gè)Enter鍵的問題,總結(jié)下:
1. 首先復(fù)習(xí)下html form對(duì)Enter的響應(yīng),不同的瀏覽器對(duì)Enter的處理略有不同,這里采用IE7
A. html form只有一個(gè)TextBox, 沒有submit按鈕, 點(diǎn)Enter 提交form.
B. >1個(gè)TextBox, 沒有submit按鈕, 點(diǎn)Enter ,form沒有響應(yīng)。
C. 頁(yè)面有一個(gè)(或多個(gè))submit按鈕, 點(diǎn)Enter, 觸發(fā)第一個(gè)submit 按鈕click。
2. ASP.NET 中的Enter鍵
ASP.NET 2.0在form上提供了defaultbutton屬性。
復(fù)制代碼 代碼如下:
<form id="form" runat="server" defaultbutton="dummyDefaultBtn">
3. Master page下的defaultbutton.
在page中Page_Load中設(shè)置
protected void Page_Load(object sender, EventArgs e) { if (!this.Page.IsPostBack) { this.Page.Master.Page.Form.DefaultButton = this.BtnSave.UniqueID;
4. Ajax下的defaultbutton
Ajax的局部刷新破壞了defaultbutton的實(shí)現(xiàn)。
A. ASP.NET的defaultbutton的實(shí)現(xiàn)。
在html中添加WebForm_FireDefaultButton方法。
復(fù)制代碼 代碼如下:
<form name="aspnetForm" method="post" action="" onsubmit="javascript:return WebForm_OnSubmit();" onkeypress="javascript:return WebForm_FireDefaultButton(event, '<your btnID>')" id="aspnetForm">
WebForm_FireDefaultButton的實(shí)現(xiàn):
var __defaultFired = false; function WebForm_FireDefaultButton(event, target) { if (!__defaultFired && event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) { var defaultButton; if (__nonMSDOMBrowser) { defaultButton = document.getElementById(target); } else { defaultButton = document.all[target]; } if (defaultButton && typeof(defaultButton.click) != "undefined") { __defaultFired = true; defaultButton.click(); event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return false; } } return true; }
B. 問題是Ajax中js變量 __defaultFired 不會(huì)更新回false,造成default button失效。
C. 解決辦法
不一而同,自己設(shè)置
復(fù)制代碼 代碼如下:
__defaultFired=false;
“如何解決ASP.NET基于Ajax的Enter鍵提交問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
當(dāng)前題目:如何解決ASP.NET基于Ajax的Enter鍵提交問題-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://www.rwnh.cn/article38/ccjdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、品牌網(wǎng)站建設(shè)、服務(wù)器托管、企業(yè)建站、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容