• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

153
Views
js asigna un valor de entrada de imagen a otro

Tengo dos campos de entrada de imagen.

 <input type="file" accept="image/*" id="one" /> <input type="file" accept="image/*" id="two" />

Estoy tratando de sincronizar el valor de two a one , cada vez que two reciben una entrada, asigne el valor a one . two es solo un campo visible en la interfaz, one es el formulario original utilizado para la recopilación y carga de datos.

 two.onchange = () => {one.value = two.value}

dado que es un campo de archivo, me pregunto si esto puede no funcionar (aún no he escrito la prueba unitaria, porque incluso el valor está registrado en el frente, dudo que el archivo quede atrapado en el backend). Estaré más que agradecido si alguien sugiere una forma tangible de hacerlo.

about 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Lo está haciendo mal, debe establecer la propiedad .files en lugar de .value porque el navegador almacenó archivos en la propiedad de files , no en la propiedad de value . Puedes hacerlo como a continuación Ejemplo:

 const one = document.getElementById('one'); const two = document.getElementById('two'); two.onchange = () => {one.files = two.files}
 <input type="file" accept="image/*" id="one" /> <input type="file" accept="image/*" id="two" />

about 3 years ago · Juan Pablo Isaza Report

0

lo siento, la respuesta de @Abdul Basit no funcionará. Traté de asignar files , pero resultó que funciona en la interfaz, pero en realidad no se transfieren datos al backend. por lo tanto, es imposible asignar valores (archivos) entre entradas de archivos .

 one.files = two.files
 <MultiValueDict: {}>

Lo hice por reemplazo de DOM.

 // replace image input two.remove(); Array.from(one.attributes).forEach(attr => { two.setAttribute(attr.nodeName, attr.nodeValue); }); one.parentNode.replaceChild(two, one);
 <MultiValueDict: {'image': [<InMemoryUploadedFile: main.jpg (image/jpeg)>]}>

aquí tenemos archivos en backend eventualmente.

about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error