我们正在使用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