Ir para conteúdo

POWERED BY:

Arquivado

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

null2007

Inativando botão do form

Recommended Posts

Olá amigos,

Estou com a seguinte situação:

Tenho uma janela aonde tem um form de cadastro, então quero inativar o botão SALVAR até que clique dentro de algum campo, ou seja, o focus terá que estar em qualquer um dos campos. É que tenho uma validação em ajax que só ativa quando algum campo for acessado(focus).

Alguém pode me ajudar?

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daria para fazer algo melhor com sua função, mas se quer que seja ativado somente ao receber o foco, é só fazer assim:

 

JavaScript

window.onload = function(){ //Ao conteúdo ser carregado
	enables("register", "salve"); //Executa a função com estes parâmetros
} //Fecha função do "window.onload"
	
function enables(formId, buttonId){ //Inicia função
	var form = document.getElementById(formId); //Cria variável "form" com o "id" do primeiro parâmetro
	var button = document.getElementById(buttonId); //Cria a variável "button" com o "id" do segundo parâmetro
	var input = form.getElementsByTagName("input"); //Cria a variável "input" com todas as tags "input" dentro do formulário
	
	for(var i = 0; i < input.length; i++){ //Faz um loop dentro do array "input"
		if(input[i].type == "text"){ //Verifica se tal elemento é do type="text"
			input[i].onfocus = function(){ //Se for do type="text", este elemento ao receber foco fara a seguinte função
				button.disabled = false; //O botão é desativado
			} //Fecha função do "input[i].onfocus"
		} //Fecha "if"
	} //Fecha "for"
} //Fecha função "enables"

Da para burlar facilmente isso. É só da foco em um campo e depois sair dele que o campo já está habilitado. Se quiser melhorar, é só trabalhar dentro de uma função dentro do onblur.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza... E o que mais daria para fazer Thiago? Teria algo mais seguro? À princípio eu solicitei assim, pq tenho um validados em ajax q ativa logo que um campo é acessado. Então iria trab assim:

Em qnt nenhum campo é acessado, o bot salvar fica inativo. Logo que algum campo for acessado, o validados ajax é ativo, e então ñ é possível enviar o form em branco. E também estou estudando e aplicando uma validação em php, para que ñ aja problemas qnd o js estiver inativo ou algum browser ñ suportar js. Entedeu?

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa... se a pessoa desabilitar o javascript do navegador ela burla seu sistema também...

 

Certifique-se de ter uma validação server-side também...

 

O que pode fazer é executar uma função no onblur do elemento, verificando se o campo é valido, se for, ele ativa o campo, se não, continua inativo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa... se a pessoa desabilitar o javascript do navegador ela burla seu sistema também...

 

Certifique-se de ter uma validação server-side também...

Desculpem se isso vai gerar uma "discussão" - saudável :P - mas se formos sempre pensar assim, não adianta fazer validação JavaScript. Ficar fazendo o mesmo trabalho duas vezes é f**a!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa... se a pessoa desabilitar o javascript do navegador ela burla seu sistema também...

 

Certifique-se de ter uma validação server-side também...

Desculpem se isso vai gerar uma "discussão" - saudável :P - mas se formos sempre pensar assim, não adianta fazer validação JavaScript. Ficar fazendo o mesmo trabalho duas vezes é f**a!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Mas com validação client-side não é necessário, na maioria dos casos, submeter dados ao servidor, o que garante uma economia de recursos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Outra coisa... se a pessoa desabilitar o javascript do navegador ela burla seu sistema também...

 

Certifique-se de ter uma validação server-side também...

Desculpem se isso vai gerar uma "discussão" - saudável :P - mas se formos sempre pensar assim, não adianta fazer validação Javascript. Ficar fazendo o mesmo trabalho duas vezes é f**a!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Mas com validação client-side não é necessário, na maioria dos casos, submeter dados ao servidor, o que garante uma economia de recursos.

 

Exatamente... Com a validação client-side, se o JS estivere habilitado (90% dos casos), ele já enviará os dados corretamente, evitando que se faça + de uma requisição...

 

Quando o JS não estiver habilitado, aí sim precisará lançar mão da validação server-side... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que no momento colocaria um noscript e pronto.

Péen... Resposta errada...

 

Faça isso e use o Opera pra ver... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

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.