Javascript xmlhttprequest onload不';我不能正常工作

Javascript xmlhttprequest onload不';我不能正常工作,javascript,xmlhttprequest,onload,Javascript,Xmlhttprequest,Onload,我试图通过javascript和xmlhttprequest验证一个表单,但它不能正常工作。 我的onload函数应该会弹出一个警报,有时它会工作,而警报会弹出,有时则不会。我真的看不出我的错误 document.getElementById("button").addEventListener("click", function(){ validateForm(document.myForm); }); function validateForm(form) { if (form

我试图通过javascript和xmlhttprequest验证一个表单,但它不能正常工作。 我的onload函数应该会弹出一个警报,有时它会工作,而警报会弹出,有时则不会。我真的看不出我的错误

document.getElementById("button").addEventListener("click", function(){
  validateForm(document.myForm);
});


function validateForm(form) {

  if (form.FirstName.value.match(/^([A-Za-z ]+)$/) &&
    form.Surname.value.match(/^([A-Za-z ]+)$/) &&
    form.Verein.value.match(/^([A-Za-z ]+)$/) &&
    form.Headcoach.value.match(/^([A-Za-z ]+)$/) &&
    form.Assistantcoach.value.match(/^([A-Za-z ]+)$/) &&
    form.Rueckennummer.value.match(/^([0-9])$/) &&
    form.Rueckennummer.value > 3 &&
    form.Rueckennummer.value < 16 &&
    (document.getElementById("Aktiv1").checked || document.getElementById("Aktiv2").checked) &&
    (new Date(document.getElementById("idDate").value).getFullYear() <= new Date().getFullYear()) ) {

      senden(form);

  }else{
      alert("Einige Eingaben sind fehlerhaft. Bitte ueberpruefen Sie ihre 
            Eingaben.");
    }

}

function senden(form){
 var formData = new FormData(form);
 var xhr = new XMLHttpRequest();
 xhr.open('POST', 'http://188.166.165.74:13337/api/players', true);
 xhr.responseType = 'json';
 xhr.onload = function() {
  alert("Daten wurden erfolgreich uebermittelt")
 };
 xhr.send(formData);
}
document.getElementById(“按钮”).addEventListener(“单击”,函数)(){
validateForm(document.myForm);
});
函数validateForm(表单){
if(form.FirstName.value.match(/^([A-Za-z]+)$/)&&
表单.姓氏.值.匹配(/^([A-Za-z]+)$/)&&
form.Verein.value.match(/^([A-Za-z]+)$/)&&
form.Headcoach.value.match(/^([A-Za-z]+)$/)&&
form.Assistantcoach.value.match(/^([A-Za-z]+)$/)&&
form.rueckennumer.value.match(/^([0-9])$/)&&
form.Rueckennummer.value>3&&
form.Rueckennummer.value<16&&
(document.getElementById(“Aktiv1”).checked | | document.getElementById(“Aktiv2”).checked)&&

(新日期(document.getElementById(“idDate”).value)。getFullYear()尝试使用
onreadystatechange
而不是
onload

函数senden(表单){
var formData=新formData(表格);
var xhr=new XMLHttpRequest();
xhr.open('POST','http://188.166.165.74:13337/api/players",对),;
xhr.responseType='json';
xhr.onreadystatechange=函数(){
警报(“Daten wurden erfolgreich uebermittelt”)
};
xhr.send(formData);

}
尝试使用
onreadystatechange
而不是
onload

函数senden(表单){
var formData=新formData(表格);
var xhr=new XMLHttpRequest();
xhr.open('POST','http://188.166.165.74:13337/api/players",对),;
xhr.responseType='json';
xhr.onreadystatechange=函数(){
警报(“Daten wurden erfolgreich uebermittelt”)
};
xhr.send(formData);
}
-也添加错误处理程序-也添加错误处理程序