这是我的代码
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设置值,就像我手动将值放入输入中一样
这是我之前的代码。
document.querySelector("form").addEventListener('formdata', (e) => {
const formData = e.originalEvent.formData;
formData.append('alphabet', "abcde");
formData.append('a1b2', "123123");
});
我想这可能对你有帮助。 祝你好运