Как ОПУБЛИКОВАТЬ новые FormData в JavaScript

#javascript #ajax #form-data

#javascript #ajax #форма-данные

Вопрос:

Перед отправкой формы я внес некоторые изменения в существующие FormData.После этого я просто публикую новые FormData.Но не сработало.

Была отправлена старая форма.Тем не менее, существующие FormData доступны в теле запроса

У кого-нибудь может быть идея?

 <script language="JavaScript" type="text/javascript">

var loaded = false;

window.onload = function() {
  loaded = true;
} 
document.querySelector("#mainForm").addEventListener("submit", function(e){
  prepareOCPDepEntries();
  if(!loaded){
    alert(errorText(2314));
    e.preventDefault();  //Stop form submission before the page is loaded
  }
}); 

function prepareOCPDepEntries(){

    var formEl = document.forms.mainForm;
    const formData = new FormData(formEl);
    var res = "";

     for(var pair of formData.entries()) {
      console.log("PAIR>>",pair);
       if(pair[0].startsWith("_")){
        res = res  "|"  pair;
        formData.delete(pair[0]);
       }
      /*if(isButton amp;amp; pair[0] === 'buttonClicked' amp;amp; pair[1] != ""){
          document.getElementById("buttonClick").value = pair[1];
      }*/
    }
    document.getElementById("depEntry").value = res;

    
     var request = new XMLHttpRequest();
     request.open("POST", "/Group/Calling_Plan/Outgoing/index.jsp");
     request.send(formData);
}

</script>
  

Комментарии:

1.Используйте e.preventDefault(); outside of if , поскольку кажется, что у вас уже есть post данные из prepareOCPDepEntries , поэтому это не нужно делать submit form как default действие.