2013-01-03 20 views
1

我使用jquery validantion創建了一些表單,並且我想在表單上方顯示相同的div元素中的所有錯誤。在一個DIV元素中結合jquery驗證錯誤

我嘗試這樣做,但不工作:

$("#contactForm").validate({ 
      rules: { 
       assunto: { required: true }, 
       nome: { required: true, minlength: 2 }, 
       email: { required: true, email: true }, 
       telefone: { required: true }, 
       mensagem: { required: true } 
      }, 
      errorPlacement: function(error, element) { 
       if (element.attr("name") == "assunto" || element.attr("name") == "nome" || element.attr("name") == "email" || element.attr("name") == "telefone" || element.attr("name") == "mensagem") 
       //here i think i want to insert the location but i don't know how! 
      else 
       //here i think i want to insert the location but i don't know how! 
      }, 

      messages: { 
       assunto: {required: 'É necessário escolher um assunto'}, 
       nome: { required: 'É necessário preencher o campo nome', minlength: 'No mínimo 2 letras' }, 
       email: { required: 'Informe seu email', email: 'Informe um Email válido' },    
       telefone: { required: 'Informe seu Telefone' }, 
       mensagem: { required: 'Escreva sua Mensagem' } 
      }, 

      submitHandler: function(form){ 
       var dados = $(form).serialize(); 
       $.ajax({ 
        type: "POST", 
        url: "enviafaleconosco.asp", 
        data: dados, 
        success: function(data) 
        { 
         alert("Obrigado! Seu contato foi enviado com sucesso. Breve retornaremos!"); 
         $("#contactForm")[0].reset();     
        } 
       }); 
       return false; 
      }   
    }); 

什麼,我做錯了什麼?

+0

你試過調試它嗎?你正在做一個表單提交觸發處理程序?控制檯中是否有錯誤? – fmsf

回答

2

你有一個語法錯誤的位置:

errorPlacement: function(error, element) { 
       if (element.attr("name") == "assunto" || element.attr("name") == "nome" || element.attr("name") == "email" || element.attr("name") == "telefone" || element.attr("name") == "mensagem") 
       //here i think i want to insert the location but i don't know how! 
       else 
       //here i think i want to insert the location but i don't know how! 
      }, 

如果if和else沒有裏面什麼也沒有,你必須添加大括號{}關閉它們:

errorPlacement: function(error, element) { 
       if (element.attr("name") == "assunto" || element.attr("name") == "nome" || element.attr("name") == "email" || element.attr("name") == "telefone" || element.attr("name") == "mensagem"){ 
       //here i think i want to insert the location but i don't know how! 
       } else { 
       //here i think i want to insert the location but i don't know how! 
       } 
      }, 

這也是一個很好的做法,總是添加大括號,如果塊,即使他們是單線

+0

謝謝,我解決了這個問題!現在錯誤顯示,但是,如何將這些錯誤插入'div'? – Preston

+0

我試過這個:'error.insertAfter(「#erros」);'這個在'div'後插入錯誤,但是我想要這個'div'裏面的錯誤 – Preston

+0

@Preston是'error'是一個jquery對象嗎? (錯誤);' – fmsf