2014-03-01 3 views
0

В моей HTML-форме у меня есть пять DIV для размещения моих ошибок. В каждом Div уже есть текст, в котором я бы хотел изменить, если это слишком сложно, я был бы рад удалить внутренний текст.Ошибка размещения JQuery для нескольких ошибок DIV's

Я использую JQuery Validator для проверки.

Как я могу определить расположение сообщений об ошибках?
Я нашел сообщения об использовании одного div. Может кто-нибудь покажет мне, как реализовать его в моем коде.

<div id="errReg1"><p>Your Full Name</p></div> 
<div id="errReg2"><p>Your Username</p></div> 
<div id="errReg3"><p>Existing Email [email protected]</p></div> 
<div id="errReg4"><p>Phone Number UK</p></div> 
<div id="errReg5"><p>DOB ex 01/01/2000</p></div> 

Сценарий Validate является:

$(function() { 

     // validate webmail Register form on keyup and submit 
     $("#webmailRegisterForm").validate({ 
      rules: 
      { 
       webmailFullName: 
       { 
        required: true, 
        minlength: 7 
       }, 
       webmailUserName: 
       { 
        required: true, 
        minlength: 9, 
        email: true 
       }, 
       webmailExEmail: 
       { 
        required: true, 
        minlength: 9, 
        email: true 
       }, 
       webmailPhone: 
       { 
        required: true 
        //phone number 
       }, 
       //webmailDOB 
       //{ 
       //} 
      }, 
      //The Error Messages 
      messages: 
      { 
       webmailFullName: 
       { 
        required: "Please provide a full name", 
        minlength: "Name must be at least 7 characters" 
       }, 
       webmailUserName: 
       { 
        required: "Please provide a AllColes email", 
        minlength: "AllColes email must be at least 9 characters", 
        email: "Please enter a valid [email protected] email" 
       }, 
       webmailExEmail: 
       { 
        required: "Please provide an existing email", 
        minlength: "Existing Email must be at least 9 characters", 
        email: "Please enter a valid email" 
       }, 
       webmailPhone: 
       { 
        required: "Please enter a UK Mobile Number", 
       }, 
       //webmailDOB 
      }, 
     errorContainer: "#errReg1, #errReg2", 
     errorLabelContainer: "#errReg3", 
     submitHandler: function(form) { 
     form.submit(); 
    } 
}); 

}); 

Спасибо

Я сделал прогресс, я думаю, но это не работает, пожалуйста, помогите мне с тем, что я делаю неправильно?

errorPlacement: function(error, element){ 
       switch (error.text()) 
       { 
       case 0: 
        x="Please provide a full name"; 
        $('#errReg1').text(error.text()); 
        break; 
       case 1: 
        x="Name must be at least 7 characters"; 
        $('#errReg1').text(error.text()); 
        break; 
       case 2: 
        x="Please provide a AllColes email"; 
        $('#errReg2').text(error.text()); 
        break; 
       case 3: 
        x="AllColes email must be at least 9 characters"; 
        $('#errReg2').text(error.text()); 
        break; 
       case 4: 
        x="Please enter a valid [email protected] email"; 
        $('#errReg2').text(error.text()); 
        break; 
       } 
      }, 
+0

'переключатель (ошибка .text()) 'должен быть' switch (error) '? Или что в «ошибке»? – KoalaBear

ответ

2
errorPlacement: function(error, element){ 
      switch (error.text()) 
      { 
       case "Please provide a full name": 
       case "Name must be at least 7 characters": 
        $('#errReg1').text(error.text()); 
        break; 
       case "Please provide a AllColes email": 
       case "AllColes email must be at least 9 characters": 
       case "Please enter a valid [email protected] email": 
        $('#errReg2').text(error.text()); 
        break; 
       case "Please provide an existing email": 
       case "Existing Email must be at least 9 characters": 
       case "Please enter a valid email": 
        $('#errReg3').text(error.text()); 
        break; 
       case "Please enter a UK Mobile Number": 
        $('#errReg4').text(error.text()); 
        break; 
       } 

      } 
    }, 

Это работало и изменяет формат Див

1

Ну вы можете изменить текст DIV, как это

$('<div id or class name>').text ('<new text to replace the old one>'); 

Счастливый Coding :)

+0

Спасибо, что показали мне, как изменить текст, это первый бит вопроса. Но как я могу сделать Jquery селектор правой errReg1,2,3,4,5 div для ввода? – Smokey

+0

Не могли бы вы взглянуть на мой оператор switch. Спасибо Chris – Smokey

+0

@Smokey: да, инструкция switch верна. теперь, если это ответит на ваш вопрос, тогда закройте его. – dreamweiver

Смежные вопросы