使用 Jquery Form Plugin 成功回调触发 Jquery UI 对话框

发布于 2024-12-20 17:05:58 字数 945 浏览 2 评论 0原文

我正在使用服务器端表单验证将响应(以 html 格式)发布到使用 Ajax 提交的表单,但更具体地说,使用 http://jquery.malsup.com/form/#getting-started 插件。

我尝试过:

<script type="text/javascript">
$(document).ready(function() {
 var $dialog = $('<div id="dialog"></div>')
        .html('This dialog will show every time!')
        .dialog({
            autoOpen: false,
            title: 'Basic Dialog'
        });
    $('#bookingForm').ajaxForm({
        success: function() { 
            $dialog.dialog('open');
            // prevent the default action, e.g., following a link
            return false;
        } 
    });
});
</script>

Ajax 提交触发,服务器返回响应但没有 jquery 对话框。

删除

autoOpen: false,

会显示对话框,因此我知道脚本的这一部分正在工作。

我还使用警报测试了回调,它也有效。

感谢您的帮助。

蒂姆

I am using server side form validation to post a response (in html) to a form submitted using Ajax but more specifically with the http://jquery.malsup.com/form/#getting-started plugin.

I have tried:

<script type="text/javascript">
$(document).ready(function() {
 var $dialog = $('<div id="dialog"></div>')
        .html('This dialog will show every time!')
        .dialog({
            autoOpen: false,
            title: 'Basic Dialog'
        });
    $('#bookingForm').ajaxForm({
        success: function() { 
            $dialog.dialog('open');
            // prevent the default action, e.g., following a link
            return false;
        } 
    });
});
</script>

The Ajax submit fires, and the server returns a response but no jquery dialog.

Removing

autoOpen: false,

shows the dialog so I know that this part of the script is working.

I have also tested the callback with an alert and it is also working.

Your help is appreciated.

Tim

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美人迟暮 2024-12-27 17:05:58

这是关于范围的吗? $dialog 不可用,因为它位于函数内部

try

 var $dialog;
  $(document).ready(function() {
      $dialog = $('<div id="dialog"></div>')

is this about scope? the $dialog isn't available because it's inside a function

try

 var $dialog;
  $(document).ready(function() {
      $dialog = $('<div id="dialog"></div>')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文