Jump to content


Photo

Menu Suspenso


  • Faça o login para participar
4 replies to this topic

#1 ph_Rodrigues

ph_Rodrigues

    Jesus, take me back !!!

  • Usuários
  • 322 posts
  • Sexo:Masculino
  • Localidade:Goiânia-GO

Posted 29/03/2006, 22:05

Boa noite amigos!
Eu tenho o seguinte formulario:

<form onSubmit="return verifica(this)" method="post">
Loja <select name="s0" size="1">
<option>1</option>
<option>2</option>
<option selected="selected">3</option>
</select><br />
Alto da Gloria <select name="s1" size="1">
<option>1</option>
<option selected="selected">2</option>
<option>3</option>
</select><br />
Setor Bueno <select name="s2" size="1">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select><br /><br /><br /><input type="hidden" name="enviar" id="enviar" value="enviado" />
<input type="submit" value="Atualizar" />
</form>


e a funcao verifica( option ):

<script language="JavaScript">
function verifica(form)
<!--
{
var aux = true;
var list = null;
var selecionados = new array(3);
list = form.s0
selecionados[0] = list.options[list.selectedIndex].text
list = form.s1
selecionados[1] = list.options[list.selectedIndex].text
list = form.s2
selecionados[2] = list.options[list.selectedIndex].text
for( var i = 0; i < selecionados.lenght; i++ ){
for( var j = i + 1; j < selecionados.length; j++ ){
if( selecionados[j] == selecionados[i] ){
aux = false;
break;
}
}
if( aux == false ){
break;
}
}
if( aux == false ){
alert( "Existem valores selecionados erradamente!" );
return false;
}
alert( "tmp" );
return true;
}
// -->
</script>

So que essa funcao nao esta funcionando como eu gostaria. Eu gostaria que ao clicar em enviar o formulario essa funcao verificasse se houve algum select que foi selecionada com valores iguais. Se houver, mostrar uma mensagem de erro atravez de um janela alert e nao enviar o formulario, caso contrario, enviar o form.
Alguem poderia me dar uma luz??
Pq ele sempre ta enviando mesmo se hover duas selects com o mesmo valor... Ah... e tambem o ultimo alert nao esta sendo exibido..!
Desde ja agradeco!
Fiquem com DEUS!

Edição feita por: ph_Rodrigues, 29/03/2006, 22:47.

Pedro Henrique de M. Rodrigues <GO-Goiânia>

<----------- JESUS, O PÃO DA VIDA!!! ----------->

Zaplim - Soluções em Internet
Portal Veste Moda Brasil

#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 30/03/2006, 08:59

<script language="JavaScript">

function verifica(form)

<!--

{



var list1 = document.getElementById("ID_DO_LIST1").options[document.getElementById("ID_DO_LIST1").selectedIndex].value;

var list2 = document.getElementById("ID_DO_LIST2").options[document.getElementById("ID_DO_LIST2").selectedIndex].value;

var list3 = document.getElementById("ID_DO_LIST3").options[document.getElementById("ID_DO_LIST3").selectedIndex].value;



if (list1 == list2 || list2 == list3 || list3 == list1) {

alert("Selecione opções diferentes.");

return false;

} else {

//submete o formulario

return true;

}



}

// -->

</script>


Eduardo Batista

#3 ph_Rodrigues

ph_Rodrigues

    Jesus, take me back !!!

  • Usuários
  • 322 posts
  • Sexo:Masculino
  • Localidade:Goiânia-GO

Posted 30/03/2006, 21:43

Obrigado pela ajuda edmais, mas ainda nao ta funcionando nao... ajustei os valores de id no form... veja como ficou:
a funcao:
<script language="JavaScript">
function verifica(form)
<!--
{

var list1 = document.getElementById("s0").options[document.getElementById("s0").selectedIndex].value;
var list2 = document.getElementById("s1").options[document.getElementById("s1").selectedIndex].value;
var list3 = document.getElementById("s2").options[document.getElementById("s2").selectedIndex].value;

if (list1 == list2 || list2 == list3 || list3 == list1) {
alert("Selecione opções diferentes.");
return false;
} else {
//submete o formulario
return true;
}

}
// -->
</script>
o form:
<form onSubmit="return verifica(this)" method="post">

Loja <select name="s0" id="s0" size="1">
<option>1</option>
<option>2</option>
<option selected="selected">3</option>
</select><br />
Alto da Gloria <select name="s1" id="s1" size="1">
<option>1</option>
<option selected="selected">2</option>
<option>3</option>
</select><br />
Setor Bueno <select name="s2" id="s2" size="1">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select><br /><br /><br /><input type="hidden" name="enviar" id="enviar" value="enviado" />
<input type="submit" value="Atualizar" />
</form>

Pedro Henrique de M. Rodrigues <GO-Goiânia>

<----------- JESUS, O PÃO DA VIDA!!! ----------->

Zaplim - Soluções em Internet
Portal Veste Moda Brasil

#4 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 30/03/2006, 22:54

De um valor para as opções =]
value="1"
value="2"
value="3"
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#5 ph_Rodrigues

ph_Rodrigues

    Jesus, take me back !!!

  • Usuários
  • 322 posts
  • Sexo:Masculino
  • Localidade:Goiânia-GO

Posted 31/03/2006, 22:20

Aih galera, ta funcionando agora! :D
Tive que mudar algumas coisas... A inicializacao do array estava errada( array(3) -> com a primeira em letra minusculo )... os ids dos options tive que colocar um caracter depois do numero... acho que eh isso aih!
Obrigado xxALExx e edmais pela atencao
Fique todos com Deus!

Ficou assim:
a funcao:

<script language="JavaScript">
<!--
function verifica(form)
{
var aux = null;
var teste = true;
var lists = new Array(3);
aux = document.getElementById("s0t");
lists[0] = aux.options[aux.selectedIndex].value;
aux = document.getElementById("s1t");
lists[1] = aux.options[aux.selectedIndex].value;
aux = document.getElementById("s2t");
lists[2] = aux.options[aux.selectedIndex].value;
for( var i = 0; i < lists.length; i++ ){
for( var j = i + 1; j < lists.length; j++ ){
if( lists[j] == lists[i] ){
teste = false;
break;
}
}
if( !teste ){
break;
}
}
if( !teste ){
alert( "Selecione as opções com todos os valores diferentes!" );
return false;
}

return true;
}
// -->
</script>

e o formulario:

<form onSubmit="return verifica(this)" method="post">

Loja <select name="s0t" id="s0" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected="selected">3</option>
</select><br />
Alto da Gloria <select name="s1t" id="s1" size="1">
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
</select><br />
Setor Bueno <select name="s2t" id="s2" size="1">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br /><br /><br /><input type="hidden" name="enviar" id="enviar" value="enviado" />
<input type="submit" value="Atualizar" />
</form>


Flws! :lol:
Pedro Henrique de M. Rodrigues <GO-Goiânia>

<----------- JESUS, O PÃO DA VIDA!!! ----------->

Zaplim - Soluções em Internet
Portal Veste Moda Brasil




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq