如何在JavaScript中发布新的formData
在提交表单之前,我对现有的formData做了一些修改。之后,我只是发布了新的formData。但没有起作用 旧表单已提交。但是,请求正文中仍然提供现有表单数据 谁能有个主意如何在JavaScript中发布新的formData,javascript,ajax,form-data,Javascript,Ajax,Form Data,在提交表单之前,我对现有的formData做了一些修改。之后,我只是发布了新的formData。但没有起作用 旧表单已提交。但是,请求正文中仍然提供现有表单数据 谁能有个主意 <script language="JavaScript" type="text/javascript"> var loaded = false; window.onload = function() { loaded = true; } document.qu
<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 && pair[0] === 'buttonClicked' && 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>
var-load=false;
window.onload=函数(){
加载=真;
}
document.querySelector(“#mainForm”).addEventListener(“提交”,函数(e){
prepareOCPDepEntries();
如果(!已加载){
警报(错误文本(2314));
e、 preventDefault();//在加载页面之前停止表单提交
}
});
函数prepareOCPDepEntries(){
var formEl=document.forms.mainForm;
const formData=新的formData(formEl);
var res=“”;
for(formData.entries()的var对){
console.log(“PAIR>>”,PAIR);
if(对[0].startsWith(“”)){
res=res+“|”+对;
formData.delete(对[0]);
}
/*如果(isButton和配对[0]==='buttonClicked'&&pair[1]!=“”){
document.getElementById(“buttonClick”).value=pair[1];
}*/
}
document.getElementById(“depEntry”).value=res;
var request=new XMLHttpRequest();
open(“POST”,“/Group/Calling_Plan/Outgoing/index.jsp”);
请求。发送(formData);
}
使用e.preventDefault()代码>在if
之外,因为您似乎已经发布来自prepareOCPDepEntries
的数据,所以它不需要提交表单作为默认操作。使用e.preventDefault()代码>在if
之外,因为您似乎已经发布来自prepareOCPDepEntries
的数据,所以它不需要提交表单作为默认操作。