Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何停止我的';获取';在JQuery中,直到I';我执行了一些javascript逻辑?_Javascript_Jquery_Ajax_Asp.net Mvc_Forms - Fatal编程技术网

如何停止我的';获取';在JQuery中,直到I';我执行了一些javascript逻辑?

如何停止我的';获取';在JQuery中,直到I';我执行了一些javascript逻辑?,javascript,jquery,ajax,asp.net-mvc,forms,Javascript,Jquery,Ajax,Asp.net Mvc,Forms,我在ASP.NETMVC中有一个如下所示的表单。它使用get进行sumbits,但在提交之前,我想运行一些预get处理(从谷歌地图获取地理坐标),然后如果坐标返回,我将提交给我的控制器。如果没有坐标返回,那么我会显示一些错误消息,并且不会点击控制器 这是我的表格 @using (Html.BeginForm("Search", "Home", FormMethod.Get)) { <div class="form-group"> @Html.TextBoxFo

我在ASP.NETMVC中有一个如下所示的表单。它使用get进行sumbits,但在提交之前,我想运行一些预get处理(从谷歌地图获取地理坐标),然后如果坐标返回,我将提交给我的控制器。如果没有坐标返回,那么我会显示一些错误消息,并且不会点击控制器

这是我的表格

@using (Html.BeginForm("Search", "Home", FormMethod.Get))
{
    <div class="form-group">
        @Html.TextBoxFor(model => model.SearchQuery, new { @class = "form-control"})
        @Html.ValidationMessageFor(model => model.SearchQuery, "", new { @class = "text-danger" })

        @Html.TextBoxFor(model => model.ClassDate, "{0:MM/dd/yyyy}", new { @class = "datefield form-control" })
        @Html.ValidationMessageFor(model => model.ClassDate, "", new { @class = "text-danger" })
    </div>
    <button type="submit" id="submitSearch" class="btn btn-default">Search</button>
}
@使用(Html.BeginForm(“搜索”、“主页”、FormMethod.Get))
{
@Html.TextBoxFor(model=>model.SearchQuery,新的{@class=“form control”})
@Html.ValidationMessageFor(model=>model.SearchQuery,“,new{@class=“text danger”})
@Html.TextBoxFor(model=>model.ClassDate,“{0:MM/dd/yyyy}”,新的{@class=“datefield form control”})
@Html.ValidationMessageFor(model=>model.ClassDate,“,new{@class=“text danger”})
搜寻
}
下面是我的javascript事件,它将获取地址并将其提交给google maps。 我尝试在开头添加event.preventDefault以阻止它调用表单“GET”,但没有成功

$(“#提交搜索”)。单击(函数(事件){
event.preventDefault();
var geocoder=new google.maps.geocoder();
var address=document.getElementById('SearchQuery')。值;
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。几何体。位置
});
if(结果[0]。格式化的\u地址){
region=results[0]。格式化的_地址+'
'; } var infowindow=new google.maps.infowindow({ 内容:“位置信息:
国家名称:”+地区+ “
LatLng:”+结果[0]。几何体。位置+” }); google.maps.event.addListener(标记,'click',函数(){ //调用infoWindow的open方法 信息窗口。打开(地图、标记); }); } 否则{ 警报(“地理编码因以下原因未成功:“+状态”); } });
});如果试图停止表单提交,请将事件绑定到表单提交,而不是单击提交按钮

$('form').submit(function(e){
    e.preventDefault();
    //your code;
    this.submit();
})

如果您试图停止表单提交,请将事件绑定到表单提交,而不是单击提交按钮

$('form').submit(function(e){
    e.preventDefault();
    //your code;
    this.submit();
})

不要立即提交表单,而是让onclick事件打开一个模式对话框,同时在此事件中运行脚本


如果没有坐标返回,则在模式中显示消息,否则使用提交按钮显示表单。

不要立即提交表单,而是让onclick事件打开模式对话框,同时在此事件中运行脚本


如果没有坐标返回,则在模式中显示一条消息,否则使用提交按钮显示表单。

为什么这比按钮单击事件更好?他仍然想提交,只是想“等到”他运行一些其他函数,然后他可以将提交处理程序放在函数的底部,如果不使用submit处理程序并在click事件中使用event.preventDefault(),当我执行逻辑时,我调用$(“form”).submit(),会怎么样??与submit button click事件相比,使用submit绑定有什么重要原因吗?事实上,我认为使用表单提交处理程序是一件坏事,因为现在您的应用程序处于某种无限循环中。提交正在调用提交!为什么这比按钮单击事件更好?他仍然想提交,只是想“等到”他运行一些其他函数,然后他可以将提交处理程序放在函数的底部。那么,不使用提交处理程序,在单击事件中使用event.preventDefault()怎么样?当我执行逻辑后,我调用$(“form”).submit()??与submit button click事件相比,使用submit绑定有什么重要原因吗?事实上,我认为使用表单提交处理程序是一件坏事,因为现在您的应用程序处于某种无限循环中。提交正在调用提交!我正在做一些非常相似的事情,只是没有模态。单击提交按钮时,我将灰显按钮并运行搜索。如果没有找到任何东西,我会在搜索查询文本框的下方或旁边显示一条错误消息或验证消息。我正在做一些非常类似的事情,只是没有模式。单击提交按钮时,我将灰显按钮并运行搜索。如果未找到任何内容,我将在搜索查询文本框下方或旁边显示一条错误消息或验证消息。