0
안녕하세요 jquery로 프로세스 제출을 중단하려하지만 작동하지 않습니다.jquery로 양식 제출 중단
다음은 제출 프로세스의 현재 코드입니다. false가 반환되면 제출이 없어야합니다.
function validateinput(gu) {
var geocoder= new google.maps.Geocoder();
var address = $(gu).find("input[name=autocomplete]").val();
geocoder.geocode({ 'address': address,
componentRestrictions: {
country: 'DE'
}}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if(!results[1]){
$.each(results[0].address_components, function(){
if(this.types[0] == "street_number"){ street_number = this.long_name; }
if(this.types[0] == "route"){ route = this.long_name; }
if(this.types[0] == "administrative_area_level_1"){ administrative_area_level_1 = this.long_name; }
if(this.types[0] == "postal_code"){ postal_code = this.long_name; }
});
if(typeof(street_number) !== "undefined" && street_number !== null && street_number !== '') {
$(gu).find("input[name=street_number]").val(street_number);
$(gu).find("input[name=route]").val(route);
$(gu).find("input[name=administrative_area_level_1]").val(administrative_area_level_1);
$(gu).find("input[name=postal_code]").val(postal_code);
$(gu).find("input[name=lat]").val(results[0].geometry.location.lat());
$(gu).find("input[name=lng]").val(results[0].geometry.location.lng());
return true;
}else{
$(gu).find("input[name=autocomplete]").val(administrative_area_level_1 + ", " + route + " ");
$(gu).find("input[name=autocomplete]").focus();
$(gu).find('span.addr_error').html('Bitte gebe deine Hausnr. an.');
return false;
}
}else{
$(gu).find("input[name=autocomplete]").focus();
$(gu).find('span.addr_error').html('Bitte wähle deine Lieferadresse.');
return false;
}
}else {
$(gu).find("input[name=autocomplete]").focus();
$(gu).find('span.addr_error').html('Wir konnten deine Adresse nicht finden.');
return false;
});
}
$("#aadress-form").submit(function(){ return validateinput(this) });
$("#ladress-form").submit(function(){ return validateinput(this) });
양식 제출을 어떻게 중지합니까? 나쁜 영어로 죄송합니다. 제 문제를 이해하고 저를 도울 수 있기를 바랍니다.
'geocoder.geocode()'메소드는 비동기은 예를 들어'gu.submit()를 사용하여, 당신은) (validateinput'에서'FALSE '를 반환해야합니다'하고 필요한 경우에만 form''제출이다'(에 'return true;'의 코드에 넣으십시오.) –
완벽하게 작동합니다. –