Ir para conteúdo

POWERED BY:

Arquivado

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

Pedro_S

Função "genérica" para form

Recommended Posts

Bom, pessoal...sou novo aqui, então se já tiver um topico falando disso me desculpem..meu problema é o seguinte...eu queria fazer um <form> com vários text box; o usuário digita os valores nos boxes da esquerda, aperta um botão e alguns cálculos são feitos usando os valores digitados...ficaria mais ou menos assim:--------- Condição 1--Condição 2--Condição 3Box1 [ ]------[ ]-----------[ ]-----------[ ] Box2 [ ]------[ ]-----------[ ]-----------[ ]Box3 [ ]------[ ]-----------[ ]-----------[ ]Box4 [ ]------[ ]-----------[ ]-----------[ ][botão]o usuário poe os valores nos campos da esquerda, aperta o botão e os diferentes resultados são mostrados nos outros camposeu sei fazer uma função que usa um valor do form (por exemplo, document.nome_do_form.nome_do_box.value)mas queria saber se tem jeito de fazer uma variável genérica, tipo document.nome_do_form.x.valueaí eu colocaria os campos das condições como x1, x2, x3...tem como fazer com Javascript?não sei se deu pra entender direito, mas é isso aí...se precisar eu tento explicar melhorvaleu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da pra você colocar todos os TextBox em uma única DIV e manipular os elementos filhos dessa DIV via Javascript/DOM, com o método childNodes, que retorna um ARRAY de elementos filhos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm...e o que seria isso? hahato aprendendo javascript na faculdade (Eng. Elétrica)...na verdade o professor nem ensinou essa parte do document.form_name...mas tipo, fazendo isso, todos os inputs seriam "tratados" da mesma maneira? ou tem como aplicar funções diferentes em cada um?

Compartilhar este post


Link para o post
Compartilhar em outros sites

DOM é um modelo de manipulação de árvore XML que se aplica a arquivos (X)HTML.

 

você pode pesquisar mais sobre DOM no site W3SCHOOL.

 

A forma de tratar os inputs depende da sua necessidade e do modo como você identificou cada um, você pode definir uma função específica para cada input verificando pelo ID único.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qq dúvida durante o desenvolvimento POSTA as dificuldades que a gente da um apoio, assim tb serve de referência para outros usuários.OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que eu vi no link que você deu, tudo que eu preciso é colocar um id="algumacoisa" dentro do input e depois usar document.getElementById('text1'); pra determinar a variáveltipo<input type="text" id="nome" size=20 value="" /><script type="text/javascript">nome = document.getElementById('text1');document.write(nome);</script>isso irá escrever o que a pessoa digitar na caixa de texto, certo?PS.: Outra dúvida que deve ser meio boba, mas...se eu colocar no head (ou no body?) <scripty language="javascript">, eu posso usar só <script></script> no body? sem ter que colocar o type? ou não tem como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra exibir oq o usuário digitar na caixa você tem que acessar a propriedade value, e o ID não tem q ser informado como variável, ele tem que ser passado para o método getElementByID, assim:

 

var elemento = document.getElementById('nome');

 

document.write(elemento.value);

 

Código:

<input type="text" id="nome" size=20 value="" /><script type="text/javascript">var elemento = document.getElementById('nome');document.write(elemento.value);</script>

se eu colocar no head (ou no body?) <scripty language="javascript">, eu posso usar só <script></script> no body? sem ter que colocar o type? ou não tem como fazer isso?

Você não precisa declarar o tipo de SCRIPT, porém, o recomendável é não misturar SCRIPT com os elementos HTML.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra exibir oq o usuário digitar na caixa você tem que acessar a propriedade value, e o ID não tem q ser informado como variável, ele tem que ser passado para o método getElementByID, assim:

 

var elemento = document.getElementById('nome');

 

document.write(elemento.value);

 

Código:

<input type="text" id="nome" size=20 value="" /><script type="text/javascript">var elemento = document.getElementById('nome');document.write(elemento.value);</script>

se eu colocar no head (ou no body?) <scripty language="javascript">, eu posso usar só <script></script> no body? sem ter que colocar o type? ou não tem como fazer isso?

Você não precisa declarar o tipo de SCRIPT, porém, o recomendável é não misturar SCRIPT com os elementos HTML.

 

ah, sim...eu li depois lá sobre o value

 

mas então isso daria na mesma se eu usasse o document.nome_do_form.nome_do_input.value, não?

eu daria esse valor pra uma variável e aí poderia usar...

 

to achando que o jeito vai ser colocar todas as contas da condição 1 dentro de uma funçao, as da condição 2 em outra e assim por diante...

 

aí depois chamo as funções com o botão

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, tá...então eu posso pegar o elemento pelo id e usar o que eu quiser dele, value, id, nome...tipovariavel = getElementById('id');document.write(variavel.value)oux = Math.random()*variavel.valuey = Math.round(variavel.value*112/100)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegando um elemento dessa forma você pode manipular qq método, propriedade ou evento dele.

 

PS: Faltou o document no comando: variavel = document.getElementById('id');

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, é mesmo :Pbom, então se eu quiser escrever o resultado em uma caixa de texto, seria algo como:...variavel = document.getElementById('input');variavel = variavel*2document.nome_do_form.nome_do_text_box.value = variavelou tem como fazer com o getElement ou outro jeito?

Compartilhar este post


Link para o post
Compartilhar em outros sites

variavel = variavel*2

você não pode multiplicar o retorno do método getElementById(), ele é um objeto!

 

Para manipular os elementos HTML/XML, você pode utilizar os métodos:

- getElementById: Retorna um único elemento pelo ID informado;

- get ElementsByName: Retorna um ARRAY de elementos com o NAME informado;

- getElementsByTagName: Retorna um ARRAY de elementos com o TAG NAME informado;

 

- chilNodes: Retorna um ARRAY dos NODES filhos de um objeto;

- firstChild: Retorna o primeiro NODE filho de um objeto;

- lastChild: Retorna o ultimo NODE filho de um objeto;

- parentNode: Retorna o NODE pai de um objeto;

 

FONTE: W3SCHOOLS

 

OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu colocasse entãovariavel = document.getElementById('input');variavel = variavel.value;aí poderia usar o número (talvez dando um parseFloat, se necessário) ?e pra escrever é daquele jeito mesmo ou tem como usar outra coisa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sobrescreve a variável Object, se você quer só a propriedade value, pega ela direto no método getElementById():

variavel = document.getElementById('input').value;

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, ok...assim é mais fácil mesmo :)pra escrever o resultado na caixa de texto é assim:textObject.value=text??por exemplo, textSaida.value = variavel2;?

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.