Jump to content

Clonar + Transferir dados para outro Form


m90mine

Recommended Posts

Tenho um formulário onde preencho alguns dados e quero transferir esses dados para outro formulário após preenchimento por JS. Mas ele clona tudo direito mas não transfere os dados que eu insiro. Alguém poderia dar uma luz?

 

<div id='hidden'>
  <div class='espaco'></div>
  <div id='lista' class='row'>
    <div id='clone' class="col-md-3">
      <div class="card">
        <img src="https://www.leirispumas.com/wp-content/uploads/2021/01/Capturar-4.jpg" alt="amostra" style="width:100%">
        <div class="card-body">
          <div class='nossaRef1'>
            <h6><strong>Ref forn: </strong></h6>
            <div>
              <div class='nossaRef1'>
                <h6><strong>Ref: </strong></h6>
                <div>
                  <div class='copyLoc1'>
                    <h6><strong>Localização: </strong></h6>
                  </div>
                </div>
                <div>
                  <input class='verMais' type="button" id="verMais" value="Ver mais">
                </div>
              </div>
              <div class='espaco'></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

 

 

const copialoc = document.getElementById('copyLoc');
const copiaRefForn = document.getElementById('copyRefForn');
const copiaRefInt = document.getElementsByClassName('copyRef');

/**
 * clique no botão  +
 */
function create1() {
  duplicar('copyRefForn1', 'nossaRef1', 'copyLoc1');
}
  
let i = 0;
  
function duplicar(copyRefForn1, nossaRef1, copyLoc1) {
  const original = document.getElementById('clone');
  const clone = original.cloneNode(true); 
  clone.id = "clone" + ++i;

  clone.getElementsByClassName('copyRefForn1')[0].innertext;
  clone.getElementsByClassName('nossaRef1')[0].innertext;
  clone.getElementsByClassName('copyLoc1')[0].innertext;

  lista.appendChild(clone);
}

 

Obrigado desde já

Link to comment
Share on other sites

Boas. Não sei se é exatamente que procuras mas:

Em vez de fazer uma cascada de div´s podes fazer um <form></form> ficando mais fácil de ler, perceber e "clonar" os valores.

Dai podes no js:

const formulario = document.querySelector("form")

formulario.addEventListener("submit", (e) => {

e.preventDefault()

const referencia = e.target.elements.[name attribute que deste ao elemento, por exemplo referencia].value (fazes para todos os inputs)

 

Aqui podes selecionar o outro questinorário e usar a mesma lógica (pelo que percebi deste-lhe o nome de "lista")

const lista = document.querySelector("lista")

// Por exemplo com a referência

lista.elements.referencia.value = referencia

}

 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.