【问题标题】:JQuery UI dialog not passing form variables after preventdefaultjQuery UI对话框在preventdefault之后没有传递表单变量
【发布时间】:2013-05-04 18:53:02
【问题描述】:

我相信我在这里做错了什么。我有一个 Perl 脚本,上面写着“如果不提交按钮名称提交/保存,则显示 html 页面。然后在提交时,运行几乎插入 6/更新数据到数据库的子例程。

if ($cgi->param("group_submit") eq '') {
    &display_add_promo();
    exit(0);
} else {
    &group_product($group_id);
    my $group_page = "./group?group_id=$group_id";
            print $cgi->redirect($group_page);
            &close_and_exit;
  }
exit(0);

现在使用 JQuery,我检查“分配的新促销代码中的产品是否包含在分配的旧促销代码中,如果包含,则通过警报。

\$('#dialog').dialog({
            height: 270,
            width: 500,
            autoOpen: false,
            modal: true,
            buttons: {
                    'Continue': function(event) {
                            \$(event.target).css({opacity: 0.25}).unbind();
                            \$('#my_form').unbind('submit').submit();
                            \$(this).dialog('close');
                    },
                    'Cancel': function(event) {
                            \$(event.target).css({opacity: 0.25}).unbind();
                            \$(this).dialog('close');
                    }
            }
});

\$('#my_form').submit(function(event) {

            \$.each(\$('#new_products').val().split(''), function(i, char) {
                    var existing = \$('#existing_products').val();

                    if (existing.indexOf(char) != -1) {
                            event.preventDefault();
                            \$('#dialog').dialog('open');
                    }
            });

});

现在,当对话框出现时,我点击“继续”脚本发布,但在同一页面上说 mozilla Web 控制台,并且我的 Perl 逻辑都没有运行,基本上看起来页面只是刷新了。在此先感谢您的帮助!

【问题讨论】:

    标签: jquery forms jquery-ui dialog


    【解决方案1】:

    模拟提交点击并在提交时运行我所有待处理逻辑的解决方案是:

    $('.group_submit').trigger('click');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多