• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

neverdie

Formulario "dinamico"

11 mensagens neste tópico

Boa tarde!

mais uma vez ca estou eu a pedir a  vossa ajuda!

é o seguinte, é para fazer um formulario em que tem um select de paises e um select de cidade. Na net encontrei o seguinte script:

<script>

var cidade_1=new Array("Acores","Beja","Braga","Braganca","Castelo Branco","Coimbra","Evora","Faro", "Guarda", "Leiria", "Lisboa", "Madeira", "Porto Alegre", "Porto", "Santarem", "Setubal", "Viana do Castelo", "Vila Real", "Viseu", "Madeira")

var cidade_2=new Array(..............)

....

function cidades(){

var pais
pais = document.dados.pais[document.dados.pais.selectedIndex].value

	if (pais != -1) {
		mis_provincias=eval("cidade_" + pais)
		num_provincias = mis_provincias.length
		document.dados.cidade.length = num_provincias

		   for(i=0;i<num_provincias;i++){
		   document.dados.cidade.options[i].value="i"           //mis_provincias[i]
	  	   document.dados.cidade.options[i].text=mis_provincias[i]
		   }	
	}

		else{
		document.dados.cidade.length = 1
		document.dados.cidade.options[0].value = "-1"
             		document.dados.cidade.options[0].text = "Seleccione"
		}
document.dados.cidade.options[0].selected = true
}


</script>

em que:

dados- nome do formulario

cidade - nome do select de cidade

pais - nome do select com os paises

O script esta a funcionar o que acontece é que quando tento apanha o valor da cidade que foi selacionado com o metodo

$cidade=$_POST['cidade'];

a varivel $ciadde esta sem valor nenhum alguem sabe qual sera o problema?

Grato pela vossa atenção

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok

<form  name=dados action="registo.php" method="post">

<SELECT name=pais onchange="cidades()">

                                                                <option value="-1" selected>Seleccione 
							<option value="1">Portugal</option>
							<option value="2">Espanha </option>
							<option value="3">Brasil </option>
							<option value="4">Alemanha </option>
							<option value="5">Andorra </option>
							<option value="6">Austrália </option>
							<option value="7">Bermudas </option>
							<option value="8">Brasil </option>
							<option value="9">Bulgária </option>
							<option value="10">Bélgica </option>
							<option value="11">Dinamarca </option>
							<option value="12">Eslovénia </option>
							<option value="13">Espanha  </option>
							<option value="14">Estónia </option>
							<option value="15">Finlândia </option>
							<option value="16">França </option>
							<option value="17">Grécia </option>
							<option value="18">Irlanda </option>
							<option value="19">Islândia </option>
							<option value="20">Itália </option>
							<option value="21">Luxemburgo </option>
							<option value="22">Noruega </option>
							<option value="23">Holanda </option>
							<option value="24">Portugal </option>
							<option value="25">Reino Unido </option>
							<option value="26">Suécia </option>
							<option value="27">Suíça </option>
							<option value="28">Ucrânia </option>
							<option value="29">Áustria </option>



</SELECT>

<br><br>

<div>A minha regiao:</div>

<SELECT name="cidade">
					<option value="-1">Seleccione</option>

</SELECT>

</form>

#EDIT por Hipnoted

Não coloques o texto com côr sff e formata o código com GeSHi. Senão ninguém o vai ler.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

falta.te fechar o "<option value="-1" selected>Seleccione" nos países. deveria estar <option value="-1" selected="selected">Seleccione</option>

é possível que seja disso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

era nos países que queria dizer ;). de qualquer maneira faz um var_dump($_POST) e vê lá o que te retorna quando faz o postback.

EDIT:

ESPERA lá! onde está o teu submit??? :shocking:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha eu editei o meu post, eu só agora reparei que no teu código não tens um butão de submit, nem nada que retorne o resultado do form para o servidor. Portanto acho que te falta aí qualquer coisa....

Acho melhor colares mesmo o código todo.

O var_dump($_POST) server para quando o cliente mandar de volta o resultado do form para o servidor, fazer echo a todos os conteúdos da variável $_POST neste caso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim eu tenho esse codigo, so nao coloquei porque é nessa parte que esta a dar problemas!

Os outros valores do formulario estam aparecer bem so o das cidades a que aparece vazio...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo o que tou a dizer é que dentro das tags <form></form> falta-te um butão que mande as informações de volta para o servidor. isso deveria ser algo como isto:

<!-- Registo.php -->
<?php

var_dump($_POST);

?>

<!-- Página do formulário -->
<form  name=dados action="registo.php" method="post">

<SELECT name=pais onchange="cidades()">
                                                                <option value="-1" selected>Seleccione</option>
							<option value="1">Portugal</option>
							<option value="2">Espanha </option>
</SELECT>

<br><br>

<div>A minha regiao:</div>

<SELECT name="cidade">
					<option value="-1">Seleccione</option>

</SELECT>
<br/>
<!-- Butão de Enviar -->
<input type="submit" name="submit" id="submit" value="Enviar" />

</form>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim eu tenho isso... so nao coloquei porque o formulario é bastante extenso...

na registo.php quando faço echo de todas as variveis elas aparecem bem so a das cidades é que nao aparece...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora