使用Javascript设置输入值,当我发送表单时并没有真正设置该值

问题描述 投票:0回答:1

这是我的代码

function updateName(nombreCampo, valor) {
    var campo = document.getElementsByName(nombreCampo)[0];
    campo.value = valor;
    campo.dispatchEvent(new Event('input', { bubbles: true }));
  }

  function updateId(nombreCampo, valor) {
    var campo = document.getElementById(nombreCampo);
    campo.value = valor;
    campo.dispatchEvent(new Event('input', { bubbles: true }));
  }

function updateFormData(data) {
    var listContent = data.TablaContenidos.split(", ").join("\n");
    updateName('dc.title', data.Titulo);
    updateName('dc.contributor.author', data.Autor);
    updateId('dc_date_issued_year', data.Ano);
    updateName('dc.identifier.citation', data.Citacion);
    updateName('dc.publisher', data.Publisher);
    updateName('dc.language.iso', data.Idioma);
    updateName('dc.subject.proposal', data.Palabras);
    updateName('dc.subject.ddc', data.ClasificacionDewey);
    updateName('dc.description.abstract', data.Resumen);
    updateName('dc.description', data.DescripcionRecurso);
    updateName('dc.description.tableofcontents', listContent);
    updateName('dc.relation.references', data.ReferenciasBibliograficas);
  floatingButton.innerHTML = 'Cargados - Reintentar';
  console.log('Datos actualizados.');
}

它工作得很好,但是当我发送表单时,值是空的。问题是我只能使用 Javascript,无法修改实际的表单逻辑或 html。而且由于某些原因我无法使用表单 ID。

我希望用Javascript设置值,就像我手动将值放入输入中一样

javascript html forms input setvalue
1个回答
0
投票

这是我之前的代码。

document.querySelector("form").addEventListener('formdata', (e) => {

  const formData = e.originalEvent.formData; 
  
  formData.append('alphabet', "abcde");
  formData.append('a1b2', "123123");
});

我想这可能对你有帮助。 祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.