1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

JavaScript

Discussão em 'Web Development' iniciada por Barata, 13 de Setembro de 2007. (Respostas: 12; Visualizações: 850)

  1. Barata

    Barata I folded Myself

    Boas.

    Não consigo por estas duas funções a correr na mesma página.
    Código:
    function validation(form)
    {
    
    	if NaN(form.ta.value)==true 
    	{
    		alert("Tempo Setup: Não é um numero ou usou uma vírgula em vez de um ponto.");
    		return(false);
    	}
    	if NaN(form.ma.value)==true
    	{
    		alert("Metros Setup: Não é um numero ou usou uma virgula em vez de um ponto.");
    		return(false);
    	}
    	if NaN(form.mp.value)==true
    	{
    		alert("Metros Produção: Não é um numero ou usou uma virgula em vez de um ponto.");
    		return(false);
    	}
    
    alert("Dados correctamente preenchidos!");
    return(true);
    }
    
    function muda(x)
    {
    	
    	switch(x) {
    		case "0":
    			document.form1.conc.disabled=true;
    			break;
    		default:
    			document.form1.conc.disabled=false;
    			break;
    	}
    	
    	return x;
    }
    
    Alguém me sabe dizer porquê? Será por ter dois return's!?

    Estou sem ideias.
     
  2. Baderous

    Baderous Banido

    Não sei JavaScript mas o "0" no switch precisa de aspas?
     
    Última edição: 13 de Setembro de 2007
  3. Barata

    Barata I folded Myself

    Sem aspas não resulta. Porque o 0 está a ser enviado como char e não como int.
     
  4. p3dro

    p3dro Power Member

    Tens alguns erros de sintaxe.

    PHP:
    if NaN(form.ta.value)==true
    deverá ser:

    PHP:
    if (NaN(form.ta.value)==true)
    que deverá/poderá passar a:
    PHP:
    if (NaN(form.ta.value))
    //devolve true se se verificar, escusas de estar a comprar com o true
    Nos restantes if's tens o mesmo erro
     
  5. Nazgulled

    Nazgulled Power Member

    Usas Firefox? Se sim, tens à tua disposição uma ferramenta que te lista todos os erros de Javascript, Tools » Error Console. Mas eu até sugiro que vas mais longe e instales a extensão "Firebug", do best! ;)
     
  6. Barata

    Barata I folded Myself

    Estou a usar IE.

    Vou aplicar as observações do p3dro. Mas penso que o problema não é esse. Mas nunca se sabe. Amanhã já terei mais informação.

    Obrigado a todos pelo input.
     
  7. p3dro

    p3dro Power Member

    não sei se os problemas são só os apontados, apenas indiquei os erros de sintaxe que encontrei :x2:

    verifica, por ex., se estás a indicar bem os caminhos para os campos e/ou forms
     
  8. Barata

    Barata I folded Myself

    Ora bem, agora já não existe conflitos entre as funções.
    O unico problema que tenho é que quando faço submit, a função que faz a validação do form não corre.

    na tag form tenho lá esta entrada onSubmit="javascript: return validation(form1);" .

    Em testes estou a colocar, no campo que deveria ser numérico, letras. No entanto, na função, coloquei um alert logo no inicio para saber se a função começou a ser executada... e nada, não entra sequer na função.

    Preciso de ideias. Obrigado pelas já dadas!
     
  9. p3dro

    p3dro Power Member

    tenta fazer desta maneira:
    Código:
    onsubmit="return validation(this)"
     
  10. Barata

    Barata I folded Myself

    Não resulta.

    Não sei o que se passa. :(
     
  11. p3dro

    p3dro Power Member

    mostra o html completo da página
     
  12. Barata

    Barata I folded Myself

    O problema está na programação da função validation(form)

    Ao que parece que função NaN não está a fazer o seu trabalho. Ou seja, sempre que eu coloco caracteres no campo a função pura e simplesmente ignora.

    Cá para mim não estou a usá-la como deve ser.

    Edit: Já funciona. A função era a isNaN e depois acho que, como as funções estão num ficheiro *.js, a cache do browser não era actualizada como seria de esperar. Agora já funciona! Obrigado pelo input de todos.
     
    Última edição: 14 de Setembro de 2007
  13. p3dro

    p3dro Power Member

    :lol:

    passou-me completamente ao lado o NaN, olhava para aquilo e só li-a isNaN :joker:
     

Partilhar esta Página