Как проверить форму в диалоге пользовательского интерфейса Jquery? - PullRequest
1 голос
/ 20 января 2011

Я пытаюсь создать функцию для активации «формы» для «поля».

function validacion_coment(form){
            $("#"+form).validate({

                    rules: {
                    texto: "required"
                },

                messages: {

                    texto: "<?php echo get_texto_clave('error_validate_empty'); ?>"
                }
            });
    }

Но это не так, есть ли что-то особенное с validate () для диалога?

-edit- нет ошибки в Firebug.

КОГДА Я ВЫЗЫВАЮ ЕГО

function nueva_respuesta(id){
$("#pop").load('./includes/router.php?que=nueva_respuesta&id='+id);
    pop_up_extra("pop","funcook.com",400,350);
    validacion_coment('respuesta');
    return false;
}

1 Ответ

2 голосов
/ 20 января 2011

Это свяжет функцию проверки с всеми форм на вашей странице во время загрузки страницы.

$(document).ready(function() {

  $('form').each(function() { 
      $(this).validate({
          rules: {
              texto: "required"
          },
          messages: {
              texto: "<?php echo get_texto_clave('error_validate_empty'); ?>"
          }
      });
  });

});

Если вы хотите добавить проверку для определенной формы , попробуйте следующее:

$(document).ready(function() {
    $('#myIdOnMyForm').validate({
          rules: {
              texto: "required"
          },
          messages: {
              texto: "<?php echo get_texto_clave('error_validate_empty'); ?>"
          }
    });
});

ПРИМЕЧАНИЕ: Эти события должны бытьопределено до вы пытаетесь отправить форму.Время загрузки страницы - подходящее время для привязки этих событий.

Чтобы связать проверку после загрузки HTML на страницу, убедитесь, что в вашем обратном вызове загрузки AJAX вызывается настройка события проверки, чтобыне пытается связать его до ответа получено:

 $("#pop").load('./includes/router.php?que=nueva_respuesta&id='+id, function() {
    pop_up_extra("pop","funcook.com",400,350);
    validacion_coment('respuesta');
    return false;
 });
...