我有这个代码在提交表单时触发:
$("form").submit(function (e) {
var geocoder = new google.maps.Geocoder();
var address = document.getElementById("Address").value;
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$("#LatitudeLongitude").val(results[0].geometry.location);
$("form").submit();
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
$('form').unbind('submit');
return false;
});
Run Code Online (Sandbox Code Playgroud)
它的作用:它调用谷歌地理编码服务将地址转换为纬度/经度,该纬度/经度被设置为表单的隐藏字段.如果有结果,则提交表单.
问题是如果验证失败(例如,尚未设置必填字段),则仍会进行地理编码调用.此外,如果我在提交按钮上再次单击,即使尚未设置必填字段,也会发布表单.
如果不引人注目的验证成功,我该如何调用地理编码服务?
是否可以使用asp.net MVC 2的新客户端验证功能而无需使用MS脚本(MicrosoftAjax.js,MicrosoftMvcAjax.js,MicrosoftMvcValidation.js)?
我在整个应用程序中使用JQuery; JQuery有一个很棒的验证插件,我真的不想强迫我的用户加载MS脚本只是为了验证.
这可能吗?如果是这样,任何有关如何完成它的建议都表示赞赏.