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

validar javascript

Discussão em 'Web Development' iniciada por RicAlmeida, 21 de Maio de 2008. (Respostas: 25; Visualizações: 1100)

  1. RicAlmeida

    RicAlmeida Power Member

    boas,

    estou com um pequeno problema nas minha validaçoes

    Este e o meu formulario
    Código:
    [B]<form onSubmit="[U]return[/U] valida_subtipo([U]this[/U].form)" name="s" method="post" action="up_subtipo.php">[/B]
      [B]<table width="300" border="0" cellspacing="0" cellpadding="0">[/B]
        [B]<tr>[/B]
          [B]<td colspan="2">[/B][B]<span [U]class[/U]="style15">[/B].: Novo Sub-Tipo :.[B]</span>[/B][B]</td>[/B]
        [B]</tr>[/B]
        [B]<tr>[/B]
          [B]<td>[/B][B]<span [U]class[/U]="style16">[/B]Sub-Tipo:(*)[B]</span>[/B][B]</td>[/B]
          [B]<td>[/B][B]<input type="text" name="subtipo" size="30" maxlength="50" />[/B]
          [B]</td>[/B]
        [B]</tr>[/B]
        [B]<tr>[/B]
          [B]<td>[/B](*) Campos Obrigatorios[B]</td>[/B][B]<td>[/B][B]<input type="submit" value="guardar"/>[/B][B]</td>[/B]
        [B]</tr>[/B]
      [B]</table>[/B]
    [B]</form>[/B]
    Isto sao as validações em javascript
    Código:
    [U]function[/U] valida_subtipo(s){
    [U]if[/U] (s.subtipo.value==""){
    	s.subtipo.focus();
    	alert("O Campo Sub-Tipo Encontra-se Vazio");
    	s.subtipo.style.backgroundColor='#FF0000';
    	[U]return[/U] [U]false[/U];
    }
    }
    o problema e que mesmo que deixe em branco ele guarda na base de dados. Este e o formulario mais pequeno, mas em todos os outro utilizio o mesmo esquema mas não da, acontece o mesmo.

    cumps
     
  2. p3dro

    p3dro Power Member

    Não envies o this.form

    Tenta alterar isto:

    Código:
    onSubmit="return valida_subtipo(this.form)"
    para isto:

    Código:
    onSubmit="return valida_subtipo(this)"
     
  3. RicAlmeida

    RicAlmeida Power Member

    alterei isso. mas continua na mesma
     
    Última edição: 21 de Maio de 2008
  4. duffy

    duffy Power Member

    Falta ali um ponto e virgula.

    onSubmit="return valida_subtipo(this);"
     
  5. RicAlmeida

    RicAlmeida Power Member

    ja coloquei i continua a nao dar
     
  6. duffy

    duffy Power Member

    Faz assim:

    HTML
    Código:
    <form onSubmit="return valida_subtipo();" name="s" method="post" action="up_subtipo.php">
      <table width="300" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td colspan="2"><span class="style15">.: Novo Sub-Tipo :.</span></td>
        </tr>
        <tr>
          <td><span class="style16">Sub-Tipo:(*)</span></td>
          <td><input type="text" name="subtipo" size="30" maxlength="50" />
          </td>
        </tr>
        <tr>
          <td>(*) Campos Obrigatorios</td><td><input type="submit" value="guardar"/></td>
        </tr>
      </table>
    </form>
    
    JS
    Código:
    function valida_subtipo(){
    var objForm = document.s;
    var sError = '';
    if (objForm.subtipo.value=='') sError+='Sub-Tipo\n';
    if (sError!=''){
    alert('O campo ' + sError + ' encontra-se vazio');return false;}
    return true;}
    
     
    Última edição: 21 de Maio de 2008
  7. RicAlmeida

    RicAlmeida Power Member

    nada continua na mesma,
     
  8. duffy

    duffy Power Member

    Não pode... eu tenho isso a funcionar... onde é que tás a meter o JS? Tens num ficheiro à parte e estás a chamar bem esse ficheiro, ou tens no ficheiro html?
     
  9. p3dro

    p3dro Power Member

    Isto não funciona contigo?

    PHP:
    <html>
      <
    head>
        <
    script type="text/javascript">
          function 
    valida_subtipo(s){
            if (
    s.subtipo.value==""){
              
    s.subtipo.focus();
              
    alert("O Campo Sub-Tipo Encontra-se Vazio");
              
    s.subtipo.style.backgroundColor='#FF0000';
              return 
    false;
            }
          }
        </
    script>
      </
    head>
      
      <
    body>
        <
    form onSubmit="return valida_subtipo(this)" name="s" method="post" action="up_subtipo.php">
          <
    table width="300" border="0" cellspacing="0" cellpadding="0">
            <
    tr>
              <
    td colspan="2"><span class="style15">.: Novo Sub-Tipo :.</span></td>
            </
    tr>
            <
    tr>
              <
    td><span class="style16">Sub-Tipo:(*)</span></td>
              <
    td><input type="text" name="subtipo" size="30" maxlength="50" />
              </
    td>
            </
    tr>
            <
    tr>
              <
    td>(*) Campos Obrigatorios</td><td><input type="submit" value="guardar"/></td>
            </
    tr>
          </
    table>
        </
    form>
      </
    body>
    </
    html>
     
  10. RicAlmeida

    RicAlmeida Power Member

    o JS esta no index.php. o formulario e uma esta dentro de um funçao que e chamado do ficheiro config.php
     
  11. duffy

    duffy Power Member

    Consegues falar português?
    Ou metes o JS num ficheiro à parte e chama-lo dentro do ficheiro config.php, ou metes o JS no ficheiro config.php, senão quando chamas a função ele não sabe onde a ir buscar... Estou a admitir que os ficheiros são individuais e não têm qualquer relação entre eles, foi o que consegui decifrar da tua resposta.
     
    Última edição: 21 de Maio de 2008
  12. RicAlmeida

    RicAlmeida Power Member

    sorry, nem reparei no que tinha escrito
    o JS esta no index.php. o formulario e uma função que esta dentro do config.php.


    mas eu a meter o JS no index.php.. depois quando ele chama a função ele nao consegue ir ao index.php buscar o JavaScript?
     
    Última edição: 21 de Maio de 2008
  13. duffy

    duffy Power Member

    Não... então se o config.php é completamente separado do index.php e se estás a chamar a função no config.php, como é que queres que ele vá buscar a função ao index? Ele não é bruxo :p
     
  14. RicAlmeida

    RicAlmeida Power Member

    por exemplo no config.php posso fazer o include do index.php
     
  15. duffy

    duffy Power Member

    Sim, podes.
     
  16. RicAlmeida

    RicAlmeida Power Member

    max eu a fazer o include do index no config ele assim nem sequer faz nada
     
  17. duffy

    duffy Power Member

    Que confusão... olha porque não metes as funções JS num ficheiro .js e chamas o ficheiro onde ele é necessário? Ficas com os ficheiros php mais limpos e sem confusões de códigos.
     
  18. RicAlmeida

    RicAlmeida Power Member

    ok vou exprimentar, ja que nunca o fiz assim
     
  19. RicAlmeida

    RicAlmeida Power Member

    parece que ainda nao e desta
     
  20. duffy

    duffy Power Member

    Tu estás aí a fazer qualquer coisa mal, porque tanto a minha solução com a do p3dro estão a funcionar...
     

Partilhar esta Página