Jump to content


Photo

Comparar Objetos


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

#1 TucaZ

TucaZ

    Normal

  • Usuários
  • 99 posts
  • Sexo:Não informado

Posted 14/12/2003, 15:50

Olá!

Estou tendo um problema para comparar objetos. Até sei como fazer, mas não peguei o jeito do JavaScript ainda. Será que poderiam me ajudar?

Seria algo parecido com isso em portugues estruturado, VB e depois em "JavaScript" que é o problema. Valeu!

Para Cada campo Em formulario.Campos
      Se campo.Tipo = File Então
            Mensagem campo.Nome
      Fim Se
Proximo

For Each campo in form.Controls
    If Is Campo TypeOf textbox Then
        Msgbox Campo.name
    End If
Next

function verifica(){	
	var i;
	for(i in form1.elements){
  if(i.type == 'file')alert(i.name);
	}
}


#2 Skuall

Skuall

    Doutor

  • Usuários
  • 968 posts
  • Sexo:Não informado

Posted 14/12/2003, 17:08

Olá! :yes:

Bom... Não consegui interpretar isso direito... Me parece uma Verificação se os Vários Campos de um Form, são do tipo "Text"... Seria isto?

Esta é a parte do Segundo For Each mas o primeiro não entendi... Poderia descrever exatmente o que quer fazer? :D

---------------

Como você parece já saber alguma coisa, este é o laço em JS que retornaria true, caso o Campo fosse do tipo "Text".

if (document.getElementById("idDoCampoAqui").type == "text") {
  //Retorna Valor True para <input type="text">
}



#3 TucaZ

TucaZ

    Normal

  • Usuários
  • 99 posts
  • Sexo:Não informado

Posted 14/12/2003, 18:11

Eu escrevi de 3 formas diferentes o que eu quero pra que vocês possam entender! :P

Isso mesmo que eu quero, mas de uma forma mais genérica, com um "For". Por exemplo: tenho X campos de formulários e quero saber apenas quais são os do tipo "text" ou "file". Preciso saber uma forma de comparar os objetos. Não sei como é feito em JavaScript. Vou tentar algo em cima do que você me passou. Valeu!

Edição feita por: TucaZ, 14/12/2003, 18:13.


#4 Skuall

Skuall

    Doutor

  • Usuários
  • 968 posts
  • Sexo:Não informado

Posted 14/12/2003, 18:22

Olá! :yes:

Tipo "file"? Não conheço, mas vamos verificar mesmo assim:

<script langauge="JavaScript">
  var total = 0;
  for (var i = 0; i < document.nomeDoForm.elements.length; i++) {
    if ((document.getElementById("idDoCampoAqui").type == "text") || (document.getElementById("idDoCampoAqui").type == "file")) {
      alert ("Tipo Texto ou File");
      total++;
    }
    else {
      alert ("Não é do Tipo Texto, nem File");
    }
  }
  alert ("Tipo: Text e File somam um Total de " + total + " campos!");
</script>


Se tiver com dificuldades de entender, só me indicar que lhe detalharei a sua Dúvida. :D

#5 TucaZ

TucaZ

    Normal

  • Usuários
  • 99 posts
  • Sexo:Não informado

Posted 14/12/2003, 18:25

Eu entendi perfeitamente, mas esse script serveria se eu soubesse o nome de todos os campos por exemplo. Eu preciso de algo mais dinâmico. Vamos tomar por exemplo que eu só tenha o nome do form e não tenha mais nome de nada.

E o tipo "file" é daqueles formulários de envio de arquivo. Entendeu?

Valeu!

Edição feita por: TucaZ, 14/12/2003, 18:27.


#6 Skuall

Skuall

    Doutor

  • Usuários
  • 968 posts
  • Sexo:Não informado

Posted 14/12/2003, 18:30

Olá! :yes:

Perdão. Fiz o Laço For, mas esqueci de usar a Variável de Controle para checar os Campos. Agora funcionará:

<script langauge="JavaScript">
  var total = 0;
  for (var i = 0; i < document.nomeDoForm.elements.length; i++) {
    if ((document.nomeDoForm.elements[i].type == "text") || (document.nomeDoForm.elements[i].type == "file")) {
      alert ("Tipo Texto ou File");
      total++;
    }
    else {
      alert ("Não é do Tipo Texto, nem File");
    }
  }
  alert ("Tipo: Text e File somam um Total de " + total + " campos!");
</script>


Agora sim! Desculpe a Desatenção.

#7 TucaZ

TucaZ

    Normal

  • Usuários
  • 99 posts
  • Sexo:Não informado

Posted 14/12/2003, 18:47

Valeu Skuall!
Usei esse código abaixo e está tudo Ok! Eu gostaria de usar o For...In...
Conhece?

Algo parecido com isso For(i in form.elements) {}

Abraços!

function verifica(nomeDoForm){	
	var total = 0;
 	 for (var i = 0; i < nomeDoForm.elements.length; i++) {
    if (nomeDoForm.elements[i].type == "file") {
      alert ("Tipo File");
      total++;
    }
    else {
      alert ("Não é do Tipo File");
    }
  }
  alert ("Tipo: File soma um Total de " + total + " campos!");
}

Edição feita por: TucaZ, 14/12/2003, 18:47.


#8 Skuall

Skuall

    Doutor

  • Usuários
  • 968 posts
  • Sexo:Não informado

Posted 14/12/2003, 18:49

Olá! :yes:

For... In... Desculpe, não conheço :D Conheço For... Each... Não é este?

#9 TucaZ

TucaZ

    Normal

  • Usuários
  • 99 posts
  • Sexo:Não informado

Posted 14/12/2003, 19:00

Olá! :yes:

For... In... Desculpe, não conheço :D Conheço For... Each... Não é este?

Então, pelo que pesquisei no DevGuru.com o For...In... é o equivalente em JS para For...Each...

Edição feita por: TucaZ, 14/12/2003, 20:43.





1 user(s) are reading this topic

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

IPB Skin By Virteq