2017-05-13 11 views
0

javascriptとxmlhttprequestでフォームの検証を試みていて、正しく動作しません。 私のonload関数が警告をポップアップし、時には正常に動作し、警告がポップアップすることがあります。私は本当に私の間違いを見ることができません。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); 
} 
+0

http://stackoverflow.com/questions/9181090/is-onload-equal-to-readystate- ...代わりにonloadonreadystatechangeを使用してみてください4-in-xmlhttprequest - エラーハンドラを追加する – mplungjan

答えて

1

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.onreadystatechange = function() { 
 
    alert("Daten wurden erfolgreich uebermittelt") 
 
}; 
 
xhr.send(formData); 
 
}

+0

thanks.its onreadystatechangeの使用中に問題なく動作します – kamalav

関連する問題