Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Régis Nogueira

Erro no código ?

Recommended Posts

Galera tenho um script que faz o seguinte:

 

A pessoa escolhe, no List/Menu, a opção LOCAL DO CURSO. Em seguida aparece outra List/Menu que MOSTRA OS CURSOS DISPONÍVEIS NO LOCAL ESCOLHIDO.

 

Este passo a passo aí está funcionando corretamente. O que acontece é que em LOCAL DO CURSO tenho somente 3 opção de escolha. Mas quando o usuário escolhe a primeira e as suas respectivas opções são carregadas os seus valores não são enviados para a tabela no dbase. Já com as outras duas opções não há problema.

 

O que pode estar havendo ?

 

Abaixo o CODIGO

 

Formulário HTML

<form name="form1" method="post" action="escolher.php" onChange="ShowHideDIVcurso(this.value);">

<select name="LocalCurso" id="LocalCurso" class="ModForm">
  <option value="x" selected>Escolha</option>
  <option value="1">Local do Curso (01)</option>
  <option value="2">Local do Curso (02)</option>
  <option value="3">Local do Curso (03)</option>
</select>

<?php include_once ("script.jsp"); ?>
<?php include_once ("ver.inc"); ?>

</form>

SCRIPT ( script.jsp )

<script language="JavaScript" type="text/javascript">
function ShowHideDIVcurso(Valor){
Valor = document.getElementById("LocalCurso").value;
	switch (Valor){
		case "1":
			document.getElementById(Valor).style.display = "block";
			document.getElementById("2").style.display = "none";
			document.getElementById("3").style.display = "none";
		break;
		case "2":
			document.getElementById("1").style.display = "none";
			document.getElementById(Valor).style.display = "block";
			document.getElementById("3").style.display = "none";
		break;
		case "3":
			document.getElementById("1").style.display = "none";
			document.getElementById("2").style.display = "none";
			document.getElementById(Valor).style.display = "block";
		break;
	}
}
</script>

VER ( ver.php )

<select name="Cursos" id="Cursos" class="ModForm" id="1" style="display:none">
  <option value="x" selected>Escolha</option>
  <option value="01">Cursos (01)</option>
  <option value="02">Cursos (02)</option>
  <option value="03">Cursos (03)</option>
</select>

<select name="Cursos" id="Cursos" class="ModForm" id="2" style="display:none">
  <option value="x" selected>Escolha</option>
  <option value="01">Cursos (01)</option>
  <option value="02">Cursos (02)</option>
  <option value="03">Cursos (03)</option>
</select>


<select name="Cursos" id="Cursos" class="ModForm" id="3" style="display:none">
  <option value="x" selected>Escolha</option>
  <option value="01">Cursos (01)</option>
  <option value="02">Cursos (02)</option>
  <option value="03">Cursos (03)</option>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falæ Régis! Firme?

 

Bom... é o seguinte:

1. Você incluiu o ONCHANGE na tag do FORM e não do SELECT. Está errado isso (tem que ser no SELECT).

2. Por se tratar de um selectbox (ou seja... possui mais de 1 item) você tem que especificar qual deles você quer o valor (document.getElementById("LocalCurso").value como você fez não funciona.)

3. Na função ShowHideDIVcurso eu não entendi pq você está redefinindo (fixamente) o valor do parâmetro Valor. Não precisa ter a linha 2 da tua função (Valor = docum...).

 

Resumindo: retire a linha 2 da sua função (Valor = docum...); retire o onChange do seu FORM; insira onChange="this.options[this.selectedIndex].value" no seu SELECT "LocalCurso".

 

Qualquer dúvida postæ! ;)

 

ABRAX!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.