-1

我正在尝试jQuery.post()运行我的 php 脚本,然后打开一个 jQuery UI 对话框,其中包含 php 脚本返回的数据。它应该以表格和文本区域的形式返回。它很好用alert(data);,我会弹出一个包含我所有数据的窗口。

如果我关闭,问题就开始了alert()。现在它打开 2 个对话框。一个只包含表格,没有 textarea,第二个绝对是空的。

我在这里做错了什么?为什么我的所有数据都显示在 中alert(),而不显示在对话框中?我需要做什么来修复它?

哦,我还需要在$.ajax()之前包括$.post()吗?

谢谢你。

 $.post("/path/to/script.php", 
               { id: this.id, value: value },
               function(data){

                     // THIS WORKS
                     //alert(data);

                     // THIS DOES NOT WORK
                     $(data).dialog({ 
                             autoOpen: true,
                             width: 400,
                             modal: true,
                             position: 'center',
                             resizable: false,
                             draggable: true,
                             title: 'Pending Changes'
                    });
               }



   );
4

3 回答 3

0

你不需要另一个$.ajax()电话。该$.post()方法是$.ajax(). 可能发生的情况是您可能会同时获得默认行为和 Javascript 绑定行为。我假设这个$.post动作是在点击时触发的。如果是这样,那么在$.click()处理程序的最后,您需要return false防止默认行为。

$('input[type=submit]').click(function() {
    $.post( /* ... */ );
    return false;
});
于 2010-04-16T16:28:14.423 回答
0

这就是我的处理方式。我有一个空 div 并在文档准备好后初始化对话框。现在在 ajax 返回加载该 div 的 html 与从 PHP 接收的数据并调用对话框的“打开”方法。简单而且绝对有效。

高温高压

于 2010-04-16T16:43:19.447 回答
0

啊! 这不是 JS 的问题,而是我的 php 文件。

textarea 坐在外面<div>blah blah</div>

问题解决了。

于 2010-04-16T17:57:41.550 回答