EDIT: ここでこのコードが完成しましたが、いつものように正しく動作するようにはできません。 基本的には、すべての入力フィールドが満たされていることをチェックする必要があります。このチェックが真であれば、JSON URLを呼び出してVAT番号の有効性をチェックします。 VAT番号チェックがtrueを返す場合はフォームを送信し、そうでない場合はエラーが発生したことを顧客に通知し、例外を無視(または送信)するか、送信をキャンセルしてページに留まるかを顧客に選択させます。 ここにJSコードがあり、以下はその呼び出しから返されたJSONです。Ajax JSONの不具合
$(document).ready(function() {
$('#create_customer').submit(function(){
var canSubmt = true;
$("form#create_customer :input").each(function(){
var input = $(this);
if($(input).val() == '') {
$(input).css("border",'1px solid red');
canSubmt = false;
}else{
$(input).css("border",'1px solid #000');
}
});
if(!canSubmt){ $("#errMsg").text("Errors detected! Please check your form and try again.").show().fadeOut(7000); return canSubmt; }
var vatNum = document.getElementById('VatNum').value;
var validVat;
var vatConfirm;
$.getJSON("http://apilayer.net/api/validate?&access_key=<api-key>&vat_number="+vatNum, function(response) {
validVat = response.valid;
})
.fail(function(){
console.log("failed");
});
if (!validVat) { vatConfirm = confirm("Your VAT number doesn't seem to be valid or in a correct format!\nDo you wish to continue anyway?"); }
if (!vatConfirm) { canSubmt = false; }
return canSubmt;
});
});
と私は唯一のキー「有効」を必要とする、そこからJSONデータ、:
{ "valid": true, "format_valid": true, "query": "LU26375245", "country_code": "LU", "vat_number": "26375245", "company_name": "AMAZON EUROPE CORE S.A R.L.", "company_address": "5, RUE PLAETIS L-2338 LUXEMBOURG" }
この作業を取得する方法上の任意のアイデア?
は実際のアクセスキーですか?あなたはそれを削除する可能性があります –
申し訳ありません私は "validVat =真"ミスタイプを見た - 2番目の1つのブラケット、 – Stefano
を外出する必要があります1)ajaxは非同期です2)validVatスコープはajax関数の内側にあるので、 "return ..." – Alessandro