上的slideToggle AJAX后复位状态

我碰到了一下说,我希望你能帮助我的问题。 我有一个用的slideToggle)开(一种形式; 奇迹般有效。 该元素内的形式#dialog一个AJAX后提交执行。 所有的作品完美。

这里有一个问题:当表单被提交的slideToggle似乎失去了状态,当用户随后单击该触发的slideToggle按钮,没有任何反应。 如果我刷新主网页在我成功的功能,那么一切正常 - 不过,这似乎击败AJAX帖子的目的提交摆在首位。 这里是我的代码:

$.ajax( { type: "POST", url: "{U_NEW}", data: dataString, success: function() { $('#reply-dialog').html("<div id='succes'></div>"); $('#succes').html("<h2>{L_DRAFT_SAVED}</h2>") .hide() .fadeIn(800, function() { $('#succes') }); $('#succes').delay(2000).slideUp(500, function() { location.reload(); parent.conversations.location='{U_CONVERSATIONS}'; }); } });

这触发的slideToggle的代码:

$(function() { $("#new").click(function () { $("#dialog").slideToggle("100"); }); });

而#dialog DIV

<div id="dialog"> <div class="ui-state-highlight ui-corner-all" style="padding: .7em;"> <div class="ui-widget"> <form action=""> <fieldset style="border: none;"> <h2>{L_NEW_MESSAGE}</h2> <label for="recipient" id="recipient_label">{L_RECIPIENT}: <span class="small-font">{L_RECIPIENT_EXPLAIN}</span></label></label> <br /> <input type="text" name="recipient" id="recipient" value="" class="text ui-widget-content ui-corner-all" /> <label class="error" for="recipient" id="recipient_error">{L_FIELD_REQUIRED}</label> <label class="error" for="recipient" id="recipient_name_error">{L_RECIPIENT_NOT_FOUND}</label> <br /> <label for="subject" id="subject_label">{L_SUBJECT}:</label> <br /> <input type="text" name="subject" id="subject" class="text ui-widget-content ui-corner-all" /> <label class="error" for="subject" id="subject_error">{L_FIELD_REQUIRED}</label> <br /> <label for="message" id="message_label">{L_MESSAGE}:</label> <br /> <textarea name="message" style="width: 99%;" rows="10" id="message" class="text ui-widget-content ui-corner-all"></textarea> <label class="error" for="message" id="message_error">{L_FIELD_REQUIRED}</label> <input type="submit" name="submit" id="button" value="{L_SEND_MESSAGE}" /> <input type="submit" name="draft" id="draft" value="{L_SAVE_AS_A_DRAFT}" /> </fieldset> </form> </div> </div> <br /> </div>

--------------解决方案-------------

现场使用(),根据委托()或()在您的jQuery的版本(较旧到新)用于绑定到DOM对象从AJAX调用加载

例如:$(文件)。在(“#新”,“点击”功能()

在这里阅读更多:http://api.jquery.com/on/

分类:jQuery的 时间:2015-03-14 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.693 (s). 10 q(s)