如何在按下键盘输入时Ajax调用url更改后停止MVC页面刷新



当我在文本框中写入文本并按Enter键,然后我的页面刷新和URL更改时,我是上传页面快照,您可以在图像中看到。当我在文本框中输入文本,然后数据显示在JQgrid中时,这是我的JQgrid代码。

当我输入文本框值并按下键盘enter按钮时,如何停止页面刷新。

这是我的HTML和Jquery代码,当在文本框中输入值并按enter键时,我想停止页面刷新,然后我的页面后悔和页面链接更改了

这是页面链接http://localhost:11736/Home/Index?

jQuery(document).ready(function($) {
jQuery("#searchAll").change(function() {
var $grid = $("#searchGrid");
$grid.jqGrid({
url: '@Url.Action("Search_All")',
datatype: 'json',
postData: {
mSearch: function() {
return $("#searchAll").val();
}
},
jsonReader: {
id: 'MemberShipID'
},
colModel: [{
name: 'MemberShipID',
index: 'MemberShipID',
label: 'MemberShip ID',
width: 20
},
{
name: 'MembershipName',
index: 'MembershipName',
label: 'Membership Name',
width: 30
},
{
name: 'address',
index: 'address',
label: 'address',
width: 50
},
{
name: 'address1',
index: 'address1',
label: 'address1',
width: 50
},
{
name: 'FileID',
index: 'FileID',
label: 'File ID',
width: 20
},
{
name: 'SectorName',
index: 'SectorName',
label: 'SectorName',
width: 20
},
{
name: 'PhaseName',
index: 'PhaseName',
label: 'PhaseName',
width: 20
},
{
name: 'PlotCategory',
index: 'PlotCategory',
label: 'PlotCategory',
width: 20
},
{
name: 'RPersonName',
index: 'RPersonName',
label: 'RPersonName',
width: 20
},
{
name: 'CityName',
index: 'CityName',
label: 'City',
width: 10
},
{
name: 'CountryName',
index: 'CountryName',
label: 'Country',
width: 10
}
],
additionalProperties: [],
loadonce: true,
navOptions: {
reloadGridOptions: {
fromServer: true
}
},
formEditing: {
closeOnEscape: true,
closeAfterEdit: true,
savekey: [true, 13],
reloadGridOptions: {
fromServer: true
}
},
viewrecords: true,
height: 300,
width: 1200,
rowNum: 100,
autoheight: true,
rowList: [10, 20, 30, 50, 100, 500],
pager: "#jqGridPager",
rownumbers: true
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="app-search">
<input type="text" class="form-control" id="searchAll" placeholder="Search for..."> <a class="srh-btn"><i class="ti-search"></i></a>
</form>

据我所知,您的问题是当按下Enter键时引发提交事件的表单标记的默认提交行为。

为了防止该事件,您可以使用以下代码

jQuery(document).ready(function(){
jQuery("form.app-search").submit(function(e){
e.preventDefault();
});
})

其中jQuery("form.app-search")是一个jquery选择器,用于查找具有类app-search的表单标记,甚至可以编写一个非常特定的Id(#selector(。

尝试FIDDLE

希望这对你有用。

$(document).keypress(function(e) 
{ if(e.keyCode === 13) // 13 is ASCII-code for keyboard ENTER key
{ e.preventDefault(); return false; } });

最新更新