Jump to content

Recommended Posts

Posted

Olá.

Estava a tentar fazer um formulário que variasse consoante a escolha do utilizador.

Por exemplo no código mostrado em baixo tenho o campo "Card Type" (cmp4) que me permite escolher 3 opções.

Eu queria que consoante a escolha (Monster; Magic; Trap), aparecessem ou não os restantes campos sem clicar em mais nada.

É possível fazê-lo?

Tentei em cada opção colocar uma variável php, mas o código corre sempre em todas as opções de escolha mesmo não estando selecionadas.

<form action="" method="post">
Card Type: <select id="cmp4" name="cmp4">
 <option value="valor1">Monster <?php $monster=1; $trap=0; $magic=0; ?> </option>
 <option value="valor2">Magic <?php $magic=1; $monster=0; $trap=0; ?> </option>
 <option value="valor3">Trap <?php $trap=1; $monster=0; $magic=0; ?> </option>
</select> <br />

Monster Type: <input type="text" id="cmp5" name="cmp5" /> <br />
Estrelas: <input type="text" id="cmp6" name="cmp6" /> <br />


<input type="submit" id="enviar" name="enviar" value="Enviar" />
</form>
Posted

Viva,

Sem javascript não consegues fazer o que pretendes... o utilizador tem mesmo que clicar para enviar o formulário...

Algo do tipo...

<?php

// verificar formulário submetido
if (isset($_POST)) {
   $cmp4 = $_POST['cmp4']; // fazer qualquer coisa com os dados recebidos...
}
?>
<form action="" method="post">
Card Type: <select id="cmp4" name="cmp4">
        <option value="valor1">Monster</option>
        <option value="valor2">Magic</option>
        <option value="valor3">Trap</option>
</select> <br />

<?php if (isset($cmp4)) { ?>
<!-- mostrar mais opções conforme o valor de $cmp4 -->
<select name="cmp41">
   <option>mais opcoes...</option>
</select>
<?php } ?>

Monster Type: <input type="text" id="cmp5" name="cmp5" /> <br />
Estrelas: <input type="text" id="cmp6" name="cmp6" /> <br />

<input type="submit" id="enviar" name="enviar" value="Enviar" />
</form>
Posted

e quais seriam os restantes campos?

Cmp 5 e 6 ("Monster Type" e "Estrelas")

Viva,

Sem javascript não consegues fazer o que pretendes... o utilizador tem mesmo que clicar para enviar o formulário...

E em javascript isso é algo simples? Podes me mostrar um exemplo?

Obrigado pelo código em php.

Posted (edited)

Fiz esta função em javascript, mas não me está a mostrar nada.

Como se chama o javascript no código html? Podiam ver se estou a ver bem o valor do campo 4 (cmp4) na função.


<form action="" method="post">
Card Type: <select id="cmp4" name="cmp4">
	 <option value="valor1">Monster </option>
	 <option value="valor2">Magic</option>
	 <option value="valor3">Trap </option>
</select> <br />

<script src='validar.js'></script>


<input type="submit" id="enviar" name="enviar" value="Enviar" />
</form>

function mostra(){
var escolha=document.form.cmp4.value;
if(escolha=="Magic"){
	console.log("Magic Card");
}
else if(escolha=="Trap Card"){
	console.log("Trap Card");
}
else{
	console.log("Monster Type: <input type=\"text\" id=\"cmp5\" name=\"cmp5\" /> <br /> Estrelas: <input type=\"text\" id=\"cmp6\" name=\"cmp6\" /> <br />");
}
}

mostra();

Edit: Sorry pelo double post, pensei que tinha clicado em editar.

Edited by bl0w

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.