Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho o form abaixo nele contém um formulário e abaixo tem os itens. A pergunta é como faço para escolher os itens no form e dessa pesquisa ir para o item especifico como se fosse uma ancora tudo na mesma página.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="reserva-area" >
<div class="reserva-area-itens">
<form class="reserva-form" action="reserva.html" method="post">
<fieldset class="fiesdeset">
<div class="reserva-form-estadia">
<label class="reserva-form-estadia-label">DATAS DA ESTADIA ↴</label>
<br />
<input type="text" name="estadia" id="nameDiv" value="10/06/2022 - 10/07/2022" />
</div>
<div class="reserva-form-quarto">
<label class="reserva-form-quarto-label">
  QUARTOS E HÓSPEDES ↴</label>
<br>
<label class="inicio">  Nº de Quartos</label>
<select name="ad" id="quarto">
<option value="1" selected="">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<div class="reserva-form-adulto">
<label class="inicio">Adultos</label>
<select name="ad" id="adultos">
<option value="1" selected="">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div>
<div class="reserva-form-crianca">
<label class="inicio">  Nº de Crianças 0 aos 12 Anos</label>
<select name="ch" id="nCrianca">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div>
<div class="reserva-form-pesquisar">
<button type="submit" class="botao-pesquisar type=" submit" id="bt-pesquisa" data-enabled="enabled">
Buscar
</button>
</div>
</fieldset>
</form>
</div>
</div>
<section>
<div>
<h2>Quarto 1.</h2>
<p data-aos="fade-hight" data-aos-delay="100">
<b>Acomodam:</b>
<br>
Até 1 adultos;
<br>
Ou 1 adultos + 1 crianças até 11 anos;
<br>
<b>Contem:</b>
<br>
1 cama de solteiro (queen size);
<br>
<b>Ocupação:</b>
<br>
maxima 1 Pessoas.
<br />
<b>Nesse quarto tem</b>
<br>
Ar, telefone, acesso a internet, cofre, frigrobar, escrivania, armário parede de vidro e banheiro privado.
<div>
<ul class="reserva-quarto-ul-fotos">
<li class="reserva-quarto-li-fotos">
<img class="reserva-quarto-img-foto" src="/assets/images/quarto-reserva/1.jpg" alt="Quarto Premium" loading="lazy">
</li>
</ul>
</div>
</section>
<section>
<div>
<h2>Quarto 2.</h2>
<p data-aos="fade-hight" data-aos-delay="100">
<b>Acomodam:</b>
<br>
Até 1 adultos;
<br>
Ou 1 adultos + 1 crianças até 11 anos;
<br>
<b>Contem:</b>
<br>
1 cama de solteiro (queen size);
<br>
<b>Ocupação:</b>
<br>
maxima 1 Pessoas.
<br />
<b>Nesse quarto tem</b>
<br>
Ar, telefone, acesso a internet, cofre, frigrobar, escrivania, armário parede de vidro e banheiro privado.
<div>
<ul class="reserva-quarto-ul-fotos">
<li class="reserva-quarto-li-fotos">
<img class="reserva-quarto-img-foto" src="/assets/images/quarto-reserva/1.jpg" alt="Quarto Premium" loading="lazy">
</li>
</ul>
</div>
</section>
</body>
</html>Boa tarde Omar~ ,
Na imagem na parte de cima é um formulário e a parte debaixo cada uma está numa section e dentro de div.
Eu fiz uma imagem e nela explico com mais detalhes. Peço desculpas pelo código não entendido.
E desde já agradeço por sua boa vontade.

Ah sim, bom você pode fazer algo tipo isso:
Selecionando alguma das opções no seletor, pegar seu valor e corre a página até o nocal do próximo formulário.
Seguindo a ideia que apresentei antes pois com ela você também poderá enviar informações do form-1 para outro dessa forma:
Spoiler
if (form.elements[i].value) {
mostra = resultado.querySelector('[data-' + form.elements[i].name + ']');
mostra.innerText = form.elements[i].value;
// Só executa se a tag for um <select> e a tag tem a proriedade [id="pular-formulario"]
if (form.elements[i].tagName.toLowerCase() === 'select' && form.elements[i].id === 'pular-formulario') {
// Obtem identificação do próximo formulário de acordo com o valor do seletor
var outroFormulario = '[data-' + form.elements[i].value + ']';
// Rola o documento até o local do formulario
document.querySelector(outroFormulario).scrollIntoView(false);
}
}
Daí teriamos mais no documento:
<div data-opcao-1="">Outro formulário aqui...</div>
<div data-opcao-2="">Outro formulário aqui...</div>
<div data-opcao-3="">Outro formulário aqui...</div>
Ou você pode diretamente adicionar um evento change no seletor, que ao altera-lo já rolaria a para o próximo form.
Seria intereçante se o(s) próximo(s) fomularios tivessem um "display:none" sendo removido antes de ir até, assim o documento ficaria mais estético.
Agora se a situação requerer dados que devem se cerregados de acordo com o primeiro formulário, uma de duas alternativas serão necessárias.
- Ao invés de mostrar o próximo formulário um ajax para carregar um outro arquivo que faça uma busca em um banco de dados e que contenha o formulário, então os dados são povoados antes da renderização html. (O ponto ruim que mesmo com poucos dados deve ser recarregado a cara requisição)
- Pré carregadar os dados necessários para cada condição, armazena-los em um JSON no javascript, assim sendo o formulário está presente e o javascript se encarrega de mostrar e povoa-lo com os dados. (O ponto ruim é que pesa para processar tudo, e com muitos registro a coisa pode ficar meio lenta).
Tirando o caso de ter de acessar um banco de dados eu optaria por deixar tudo em um form, e só mostrar cada campo de acordo com o valor selecionado, fica algo mais prático no uso final.
Exemplo:
Tenho inputA e inputB, ambos no formulário e ambos ocultos, ao alterar alguma opção seja um seletor ou seja uma caixa de marcação, mostraria o input correspondente aquela opção de resetaria o valor o input que não seria utilizado.
Nesse caso com uma caixa de marcação "checkbox/radio" é bem provável que poderia ser feito apenas com CSS, não sei, teria que replicar aqui e testar e não dar para simplesmente escrever o código aqui sem testar se não tenho certesa do resultado.
Me parece que algo nesse sentido, porém não dar para entender com uma pergunta tão incoerente