为什么IE9在按enter键时调用get方法而不是post,如何修复?
Why IE9 invokes get method instead of post in enter is pressed, how to fix?
输入键用于在下面发布表单。在IE9中按enter发送get请求:第一次输入发送get,第二次输入发送post,第三次输入发送get请求,等等
如果按enter键,如何只发送post请求?在firefox中,只有post请求才会被正确发送。
<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>
$('#_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();
}
});
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- Jquery POST未填充数组
- 如何在php文件中获取$.post-ajax传递的值
- 在POST中将html表作为csv提交
- 我如何修复包含在captcha的addthis中的错误
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 自动修复”;语句前缺少分号“;
- 如何使用post方法从方法上传文件
- Django: AJAX + CSRF POST gives 403
- AJAX不会在文件上传后重定向到网页-POST方法
- 滚动以修复向上滚动的问题
- 下载使用POST数据动态生成的文件
- 如何使用自定义标头跨域执行AJAX POST
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- jQuery在输入下验证post错误消息
- 在文本区域POST后解码JSON
- Node.js - POST to iFrame?
- 如何修复这个js脚本发送一个值的方法post
- 为什么IE9在按enter键时调用get方法而不是post,如何修复?