众所周知,默认按钮在FF中不起作用,只有IE。我试图放入标签或在其中,它不起作用。我找到了一个js脚本来解决这个问题,但由于某些原因它不适合我。这个提交按钮的脚本,我需要将它用于LinkButton,它应该是相同的。
链接:
<div id="pnl">
<a id="ctl00_cphMain_lbLogin" title="Click Here to LogIn" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cphMain$lbLogin", "", true, "Login1", "", false, true))">Log In</a>
<input name="ctl00$cphMain$UserName" type="text" id="ctl00_cphMain_UserName" />
<input name="ctl00$cphMain$UserName" type="text" id="ctl00_cphMain_UserName1" />
</div>
<script>
$(document).ready(function() {
$("#pnl").keypress(function(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$("a[id$='_lbLogin']").click();
return true;
}
});
});
我知道我可以覆盖原始功能“ WebForm_FireDefaultButton ” 在This帖子中,但我真的想让这个工作。
Thanx提前!!!
答案 0 :(得分:2)
我在这里找到了修复链接按钮的答案:http://www.sentia.com.au/2009/03/fixing-the-enter-key-in-aspnet-with-jquery/
$(document).ready(function(){
var $btn = $('.form_submit');
var $form = $btn.parents('.form');
$form.keypress(function(e){
if (e.which == 13 && e.target.type != 'textarea') {
if ($btn[0].type == 'submit')
$btn[0].click();
else
eval($btn[0].href);
return false;
}
});
});
答案 1 :(得分:1)
受到Larry Flewwelling's answer或Michael Cindric's的启发,我想出了该javascript代码段的修改和更新版本。我已在this blog post中记录了有关原因和方式的更详细信息,但让我总结一下重要的变化:
这就是:
$('body')
.off('keypress.enter')
.on('keypress.enter', function (e) {
if (e.which == 13 && e.target.type != 'textarea') {
var $btn = $(e.target).closest('.jq-form').find('.jq-form-submit');
if ($btn.length > 0) {
if ($btn[0].type == 'submit') {
$btn[0].click();
}
else {
eval($btn[0].href);
}
return false;
}
}
});
答案 2 :(得分:0)
您可以展开您的选择器。
$("#pnl > input")
然后,它将捕获面板中所有控件的输入点击。