1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

função javascript

Discussão em 'Web Development' iniciada por fil79, 5 de Junho de 2009. (Respostas: 8; Visualizações: 1055)

  1. fil79

    fil79 Power Member

    Boas


    quero que uma função em javascript faça a validação de um campo em um form..como o form é criado dinâmicamente vindo de uma listagem tive de lhe inserir um id:

    <form id ="formv<?=$rows['id']?>" onSubmit="return valida(<?=$rows['viatura_id']?>);" method="post">


    depois uso uma função para validar mas esta não dá erro ( javascript console) nem faz a validação:


    function valida(valor){
    if(document.getElementById('formv'+ valor).data.value!="")
    {
    alert( "Tem de preencher o campo data!" );
    alert(valor);
    return false;

    }
    return true;
    }


    Agradeço qualquer ajuda!
     
  2. p3dro

    p3dro Power Member



    Podes resolver o problema de pelo menos duas maneiras, fazendo uma pequena alteração na tua função

    Código:
    function valida(valor) {
      var res = true;
      if (document.getElementById('formv' + valor)["data"].value == "") {
        alert("Tem de preencher o campo data!");
        res = false;
      }
      return res;
    }


    Outro exemplo, não precisas de enviar um valor para identificares o formulário, terás é de alterar o modo de como chamas a função:

    Código:
    function valida2(frm) {
      var res = true;
      if (frm.elements["data"].value == "") {
        alert("Tem de preencher o campo data!");
        res = false;
      }
      return res;
    }
    Neste 2º caso terás de alterar o onSubmit para onSubmit="return valida2(this);"
     
  3. MadOnion

    MadOnion Folding Member

    Experimenta assim, meti a bold e rasurado as alterações.
    Não te esqueças que o teu input(seja do tipo text, ou password...) do html, tem que ter obrigatóriamente o id para essa função do javascript funcionar.
     
  4. fil79

    fil79 Power Member

    obrigado aos dois..já tentei das duas formas e nada, a função faz o alert mas não valida...e continua sem dar erros de javascript!!é mt estranho
     
  5. FuZi

    FuZi What is folding?

    n tas a passar valores diferentes??

    e aquele "=" a seguir às short tags de php é o quê? e tenta meter o id tambem com echo $bla;

    e para ires buscar o value duma textbox, basta .value (tens data.value?!)

    e.. por fim tens se o valor inserido for != (diferente) de "" ele retorna falso, ou seja não submete quando está preenchido.
     
    Última edição: 8 de Junho de 2009
  6. fil79

    fil79 Power Member

    o valor de ambos (['id']==['viatura_id']) é igual portanto o erro não é esse..
    O = a seguir às shorts tags é equivalente ao echo e uso o data.value porque data é o nome da textbox..
    Agradeço mais ajudas!!
     
  7. fil79

    fil79 Power Member

    o valor de ambos (['id']==['viatura_id']) é igual portanto o erro não é esse..
    O = a seguir às shorts tags é equivalente ao echo e uso o data.value porque data é o nome da textbox..
    em relação ao !== tens toda a razão, estava mesmo a dormir :)
    Agradeço mais ajudas!!
     
  8. p3dro

    p3dro Power Member

    Nos exemplos que eu te dei é mostrada a mensagem de aviso e o formulário é submetido na mesma?
     
  9. fil79

    fil79 Power Member


    realmente a tua solução funcionou..não estava a conseguir porque estava com o nome da função trocada (estupidez)!! Obrigadão ;)
     

Partilhar esta Página