【问题标题】:How to validate a form in a Jquery UI Dialog?如何在 Jquery UI 对话框中验证表单?
【发布时间】:2011-01-20 01:59:23
【问题描述】:

我正在尝试创建一个函数来激活“字段”的“表单”。

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;
}

【问题讨论】:

  • 参数列表中的表格是什么?您可以发布一个示例来显示您传递给该参数的内容吗?谢谢!

标签: javascript jquery-ui dialog jquery-validate validation


【解决方案1】:

这会将验证功能绑定到页面加载时页面上的所有表单。

$(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 加载回调中调用验证事件设置,以便它不会尝试在 之前绑定它strong> 已收到回复:

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

【讨论】:

  • 感谢您的回答,但是调用 document.ready 时表单还不存在,这就是为什么我要创建一个函数,在加载对话框后调用它
  • @Toni - 看起来您可能是按顺序调用加载,而不是在回调处理程序中调用验证设置事件。试试这个。
猜你喜欢
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
相关资源
最近更新 更多