我們正在使用Sharepoint 2007
其中在母版頁上我們有了Asp Image按鈕。我們希望將此圖像按鈕設置爲默認按鈕,以確認輸入按鍵。我們嘗試了一些方法,但沒有取得成功。如何設置ENTER鍵的默認按鈕
回答
原來更復雜的比我想象的,但可能仍然。首先,確保你的控件的ID是靜態的:
<asp:ImageButton runat="server" ID="MyImageButton" ClientIDMode="Static" ImageUrl="pic.gif" OnClick="ImageButtonClicked" />
現在你需要的是下面的JavaScript代碼在你.aspx
或.master
頁:
<script type="text/javascript">
var DEFAULT_BUTTON_ID = "MyImageButton";
// Mozilla, Opera and webkit nightlies currently support this event
if (document.addEventListener) {
// A fallback to window.onload, that will always work
window.addEventListener("load", HandleDefaultButton, false);
// If IE event model is used
} else if (document.attachEvent) {
// A fallback to window.onload, that will always work
window.attachEvent("onload", HandleDefaultButton);
}
function HandleDefaultButton() {
var inputs = document.getElementsByTagName("input");
//attach event for all inputs
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
//maybe already got handler so add instead of override
if (document.addEventListener)
input.addEventListener("keypress", InputElement_KeyPressed, false);
else if (document.attachEvent)
input.attachEvent("onkeypress", InputElement_KeyPressed);
}
}
function InputElement_KeyPressed(evt) {
if (DEFAULT_BUTTON_ID && DEFAULT_BUTTON_ID.length > 0) {
//old IE event module
if (typeof evt == "undefined" || !evt)
evt = window.event;
var keyCode = evt.keyCode || evt.which;
if (keyCode === 13) {
var oButton = document.getElementById(DEFAULT_BUTTON_ID);
if (oButton) {
oButton.click();
return false;
} else {
alert("---DEBUG--- default button is defined but does not exist (" + DEFAULT_BUTTON_ID + ")");
}
}
}
return true;
}
</script>
你只需要定義真實ID作爲DEFAULT_BUTTON_ID
的值,代碼會自動將按鍵事件附加到所有輸入(文本,複選框和收音機),並且當按下輸入時,定義爲默認的按鈕將被點擊。
由於您使用SharePoint意味着window.onload
已在使用中,所以我們必須添加我們自己的事件不會覆蓋它。
您可以將DefaultButton屬性設置爲您希望在表單標籤中默認使用的按鈕的ID。
是的,我們嘗試DefaultButton屬性;它在.Net中工作,但在共享點,它不工作。 不知道爲什麼 – Rushikesh 2012-04-02 07:42:59
簽出[link](http://havivi.blogspot.com/2009/09/set-focus-set-default-button-to.html)。您應該先添加控件,然後設置默認按鈕,否則將默認按鈕設置爲null,因爲控件未添加到窗體中。 – 2012-04-02 07:55:08
- 1. jQueryUI按鈕上的默認按鈕上按Enter鍵
- 2. 默認按鈕設置
- 3. 如何修改Nimbus L&F以在按Enter鍵時激活默認按鈕?
- 4. 如何禁用組件內的ENTER鍵的JDialog默認按鈕處理
- 5. QML:MessageDialog,standardButtons和設置默認按鈕
- 6. 設置默認「ok」和「取消」按鈕
- 7. 在asp.net 2.0中設置默認按鈕
- 8. 如何設置對象的按鍵的默認值?
- 9. 如何重置單選按鈕?回到默認設置
- 10. 如何爲EditText設置默認鍵盤
- 11. 設置按鈕看起來像默認的安卓按鈕
- 12. 如何設置按鈕的默認響應與add_action_widget在Gtk.Dialog
- 13. 如何將html按鈕設置爲ASP.Net窗體的默認值?
- 14. 如何在Xcode中設置窗體的默認按鈕?
- 15. 如何設置HTML表單中的默認提交按鈕?
- 16. 如何設置AngularJS中單選按鈕的默認值?
- 17. 如何在不同的標籤中設置默認按鈕?
- 18. 如何在JAVAFx中設置所有按鈕的默認CSS
- 19. Java 8中的可編輯JComboBox不會將Enter鍵轉發到默認按鈕
- 20. 如何在PyGTK中設置默認按鈕?
- 21. 如何在Angular中設置默認選中單選按鈕
- 22. Angular2如何設置單選按鈕與默認值檢查
- 23. 如何在某個按鈕上設置默認「輸入」
- 24. 如何在TaskDialog中設置默認按鈕?
- 25. Android的默認按鈕和DONE鍵盤
- 26. 如何在Javascript中阻止默認按鈕時設置按鈕標籤狀態
- 27. ENTER鍵按下事件的默認行爲是什麼?
- 28. 如何設置Datetimepicker的默認設置?
- 29. IOS鍵盤默認按鈕翻譯
- 30. 如何防止按鍵上的ENTER鍵
只能使用JavaScript,因爲它不是普通的提交按鈕。 – 2012-04-02 06:54:12
你可以請分享任何墨水爲相同的Thx很多答覆 – Rushikesh 2012-04-02 07:40:08
看到我的答案.. – 2012-04-02 08:04:43