bl0w Posted February 25, 2014 at 06:33 PM Report #546628 Posted February 25, 2014 at 06:33 PM 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>
I-NOZex Posted February 25, 2014 at 08:37 PM Report #546655 Posted February 25, 2014 at 08:37 PM e quais seriam os restantes campos? B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
taviroquai Posted February 27, 2014 at 12:59 AM Report #546811 Posted February 27, 2014 at 12:59 AM 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>
bl0w Posted February 27, 2014 at 01:27 PM Author Report #546884 Posted February 27, 2014 at 01:27 PM 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.
bl0w Posted March 4, 2014 at 09:15 PM Author Report #547533 Posted March 4, 2014 at 09:15 PM (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 March 4, 2014 at 09:16 PM by bl0w
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now