2010-11-15 2 views
0

Я использую плагин проверки. Я пытаюсь выяснить, как очистить текстовое поле, если поле недействительно.удаление поля ввода, если оно недействительно

мой Javascript код выглядит следующим образом

$(document).ready(function() { 
$("#enrollForm").validate({ 
    rules: { 
     email: { 
      required: true, 
      email: true 
     }, 
     vemail: { 
      required: true, 
      email: true, 
      equalTo: "#email" 
     }, 
     offer_code: { 
      required: false, 
      remote: "check_code.php" 
     } 
    } 
});}); 

Я пытаюсь очистить поле под названием offer_code, если поле является недействительным. возможно ли это сделать с помощью функции проверки правильности?

Alex

ответ

1

Проверьте это:

http://docs.jquery.com/Plugins/Validation/valid

Пример:

$(document).ready(function() { 
$("#enrollForm").validate({ 
    rules: { 
     email: { 
      required: true, 
      email: true 
     }, 
     vemail: { 
      required: true, 
      email: true, 
      equalTo: "#email" 
     }, 
     offer_code: { 
      required: false, 
      remote: "check_code.php" 
     } 
    } 
});}); 

$("#enrollForm").blur(function() { 
    if($("#enrollForm").valid()) { 
    //success code? 
    } else { 
    $("#enrollForm").val('') 
    } 
}); 
0

Предполагая, что плагин присваивает label для input с классом error, то вы можете сделать это:

$('label.error').prev('input').val(''); 

Чтобы быть немного более точным, так как плагин проверки также присваивает атрибут for на этикетках об ошибке:

$(document).ready(
    function(){ 

    // call to the plug-in here, input-clearing afterwards 
    // (though I'm not sure it matters, since it's dependant 
    // on CSS selectors to work, which aren't dependant on 
    // the plug-in itself). 

    $('label.error').each(
     function(){ 
     var errorInputID = $(this).attr('for'); 
     $('#'+errorInputID).val(''); 
     }); 
    }); 

Я предполагаю, что, по «Валида что вы имеете в виду этот, по адресу: http://bassistance.de/jquery-plugins/jquery-plugin-validation/, если я ошибаюсь, то это, очевидно, может не сработать.

+0

где вы положили это так, как называется? есть ли обратный вызов? – Matt

+0

@Matt, так как очистка 'input' зависит от селекторов css, назначаемых (предположительно через плагин), а не плагина, возвращающего какие-либо конкретные данные, я не думаю, что это имеет значение. Хотя я обычно называю плагин * первым *, тогда он имеет немного больше смысла, откуда приходит класс '.error'. –

1

Я использовал JQuery для проверки несколько форм. Например, на моем сайте есть часть, в которую пользователь должен ввести, а затем повторно ввести свои пароли. Если значение их второго пароля равно их первому паролю, я использую jquery для сползания div, в котором говорится: «Ваши паспорта совпадают!»

Попробуйте это:

$(document).ready(function(){ 
     $("#error").hide(); 
     $("#invite").hide(); 
     $("#confirm").hide(); 
     $("#invite_short").hide(); 
     $("#short").hide(); 

    $('.button').click(function checkPass(){ 
     var pass = $("#pass").val(); 
     var confirm = $("#con-pass").val(); 

     if(pass != confirm) 
     { 
      $("#error").slideDown(); 
      return false; 
     } 

     }); 

    $('#con-pass').keyup(function checkPass(){ 
     var pass = $("#pass").val(); 
     var confirm = $("#con-pass").val(); 

     if(pass == confirm) 
     { 
      $("#error").slideUp(); 
      $("#confirm").slideDown(); 
      return false; 
     } 

     if(pass != confirm) 
     { 
      $("#confirm").slideUp(); 
      return false; 
     } 

     }); 

    $('#pass').keyup(function checkChar(){ 
     var pass = $("#pass").val().length; 

     if(pass < 4) 
     { 
      $("#short").slideDown(); 
      return false; 
     } 

     if(pass == 4 
     || pass > 4) 
     { 
      $("#short").slideUp(); 
     } 

     }); 

     $('#invite_number').keyup(function checkCode(){ 
     var code = $("#invite_number").val(); 

     if(code.length == 8) 
     { 
      $("#invite_short").slideUp(); 
      $("#invite").slideDown(); 
      return false; 
     } 

     if(code.length < 8) 
     { 
      $("#invite").slideUp(); 
      return false; 
     } 


     }); 

     $('.button').click(function checkCode(){ 
     var code = $("#invite_number").val(); 

     if(code.length < 8) 
     { 
      $("#invite_short").slideDown(); 
      return false; 
     } 

     }); 
    }); 

Существует много кода там. Но он также проверяет форму с точки зрения требований длины. Если пароль меньше 4 символов, он уведомляет их о вводе пароля.

Вы получаете идею .... Надеюсь, это поможет

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