回车键用于发布下面的表格。 按Enter键发送请求Iin IE9: 首先输入发送,第二次输入发送,第三次输入发送请求等。
如果按下输入,如何仅发送帖子请求? 在firefox中,只有正确的发送请求。
<form id="Form" method='post' target='DocumentRegisterReportpdf'
action='/erp/Report/Render?_entity=DocumentRegisterReport'>
... form fields
<select class="ui-widget-content ui-corner-all" id="_Report" name="_Report" size="10">
<option selected="selected" value="AKART001">Report1</option>
<option value="A3001">Report2</option>
<option value="A3003">Report3</option>
</select>
<input id='_submit' type='submit' value='Show PDF' />
</form>
<script type="text/javascript">
$(function () {
$('#_Report').keypress(function (e) { if (enter(e)) { $('#Form')[0].submit(); cancel(e); } });
$('#_submit').focus();
});
function enter(e) { return e.keyCode === $.ui.keyCode.ENTER && !e.ctrlKey && !e.altKey; }
function cancel(evt) {
evt.returnValue = false;
evt.keyCode = 0;
evt.cancelBubble = true;
evt.preventDefault();
evt.stopPropagation();
}
</script>
答案 0 :(得分:0)
$('#_Report').keypress(function (e) {
if (enter(e))
{
var action = $('#Form').attr('action'),
separator = action.indexOf('?') == -1 ? '?' : '&',
url = action + separator + $('#Form').serialize(),
post_or_get = 'post';
$.ajax({
url : url,
method : post_or_get,
success : function(data){
// this is the callback :)
}
});
}
});
或者您可以克隆表单,将其方法从post
更改为get
并提交:
$('#_Report').keypress(function (e) {
if (enter(e))
{
var post_or_get = 'post';
$('#Form')
.clone()
.attr('method', post_or_get)
.submit();
}
});