Jump to content

Erros quando retrocedo


miguel_macedo

Recommended Posts

Bom Dia

Quando clico no botão reservar do formulário, os erros aparecem no site.! No entanto quando clico numa foto da galeria ( que tenho em baixo do formulário ) e retrocedo os erros parecem novamente. Como é que faço para que os erros só apareçam quando clico no botão da reserva ?

Aguardo Resposta

 

<section class="section section_reservation mt-5" id="reservation">
		<div class="container">
			<div class="row">
				<div class="col">
					<h2 class="text-center">Reserva Online</h2>
				</div>
			</div> 
			<div class="row justify-content-lg-center section_reservation__row">
				<div class="col-lg-8">
					<form class="section_reservation__form" method="post">
						<div class="row">
							<div class="col-md-6">
								<div class="form-group">
									<label class="sr-only">Nome Completo</label>
									<input type="text" class="form-control" name="name" placeholder="Nome Completo" value="<?= isset($name) ? $name : ""?>">
								</div>
								<div class="form-group">
									<label class="sr-only">Telemóvel</label>
									<input type="tel" class="form-control" name="tel" placeholder="Telemóvel" maxlength="9" value="<?= isset($tel) ? $tel : ""?>">
								</div>
								<div class="form-group">
									<label class="sr-only">E-mail</label>
									<input type="email" class="form-control" name="email" placeholder="E-mail" value="<?= isset($email) ? $email : ""?>">
								</div>
							</div>
							<div class="col-md-6">
								<div class="form-group">
									<label class="sr-only">Pessoas</label>
									<select class="form-control" name="people">
										<option value="" >Selecione</option>
										<option value="1" <?= isset($people) && $people == 1 ? "selected" : ""?>>1 pessoa</option>
										<option value="2" <?= isset($people) && $people == 2 ? "selected" : ""?>>2 pessoas</option>
										<option value="3" <?= isset($people) && $people == 3 ? "selected" : ""?>>3 pessoas</option>
										<option value="4" <?= isset($people) && $people == 4 ? "selected" : ""?>>4 pessoas</option>
										<option value="5" <?= isset($people) && $people == 5 ? "selected" : ""?>>5 pessoas</option>
									</select>
								</div>
								<div class="form-group">
									<label class="sr-only">Data</label>
									<input type="date" class="form-control" name="date" value="<?= isset($date) ? $date : ""?>">
								</div>
								<div class="form-group">
									<label class="sr-only">Time</label>
									<input type="time" class="form-control" name="time" value="<?= isset($time) ? $time : ""?>">
								</div>
							</div>
							<div class="col">
								<div class="text-center">
									<button type="submit" class="btn btn-primary">Reserve</button>
								</div>
							</div>
						</div>
					</form>
				</div>
			</div> 
		</div> 
    </section>

 

<?php
        $html = "";
        if(!empty($errors))
        {
            $html.='
                    <script>
                            window.onload = function() {
                                $("html, body").animate({
                                        scrollTop: $("#val_errors").offset().top
                                }, 2000);
                            };
                    </script>    

                  ';
            $html.='<div id="val_errors">';
            foreach($errors as $error)
            {
                $html.='<div class="alert alert-warning" role="alert">' . $error . '</div>';
            }
            $html.='</div>';
            print $html;
        }
    ?>
Edited by miguel_macedo
Link to comment
Share on other sites

3 minutos atrás, Zex disse:

O melhor seria usar primeiro um botão "submit" só para testar os dados.


<button onclick="testar_dados()"> submit </button>

E, depois, se os dados estivessem corretos então o javascript invocaria o "submit" da form.


document.myform.submit();

 

Para ser sincero, não percebi, ainda sou iniciante! Consegue exemplificar com o código que coloquei acima ?

Link to comment
Share on other sites

7 horas atrás, Zex disse:

Para testar o número de telemóvel tem que se acrescentar

pattern="9[0-9]{8}"

Exemplo:

<input type="tel" pattern="9[0-9]{8}" value="">

Não percebeste a minha pergunta.

Quando clico no botão reservar do formulário, os erros aparecem no site.! No entanto quando clico numa foto da galeria ( que tenho em baixo do formulário ) e retrocedo os erros parecem novamente. Como é que faço para que os erros só apareçam quando clico no botão da reserva ?

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.