jqueryajax call send按钮起作用,但用于重新打开电子邮件的下拉菜单停止工作

jqueryajax call send按钮起作用,但用于重新打开电子邮件的下拉菜单停止工作,jquery,angularjs,ajax,email,Jquery,Angularjs,Ajax,Email,因此,我有一个地图应用程序的reportviewer视图,它显示 PDF格式的报告。视图上有一个电子邮件按钮,用于打开 电子邮件表格。用户输入他们的电子邮件、主题等。发送 按钮发出一个ajax调用,一旦成功,我将删除打开的 类,它关闭电子邮件覆盖表单 问题是电子邮件按钮在发送后停止工作。 任何帮助都会很好。如果还有什么我需要补充的,请让我知道,因为这是我的第一个问题 编辑:当我在#formContainer外按下按钮时,它将open类添加到报表底部容器中,但没有打开电子邮件表单本身。当#emai

因此,我有一个地图应用程序的reportviewer视图,它显示 PDF格式的报告。视图上有一个电子邮件按钮,用于打开 电子邮件表格。用户输入他们的电子邮件、主题等。发送 按钮发出一个ajax调用,一旦成功,我将删除打开的 类,它关闭电子邮件覆盖表单

问题是电子邮件按钮在发送后停止工作。 任何帮助都会很好。如果还有什么我需要补充的,请让我知道,因为这是我的第一个问题

编辑:当我在#formContainer外按下按钮时,它将open类添加到报表底部容器中,但没有打开电子邮件表单本身。当#email按钮位于#formContainer内部时,它会完全破坏电子邮件按钮本身

以下是建议的更新代码,以防我做得不正确:

  <div class="report-bottom">
    <div id="formContainer" class="btn-group dropup clickable" style="float:left;margin-left:20px">
        <ul class="dropdown-menu" style="left:-20px;min-width:363px;padding:15px;margin-top:0;margin-bottom:15px">
            <form class="form-horizontal" action="" id="ajaxform">
                <li data-keepOpenOnClick>
                    <input data-keepOpenOnClick type="text" id="emailAddress" name="emailAddress" class="form-control" value="" placeholder="To" />
                </li>
                <li data-keepOpenOnClick>
                    <input data-keepOpenOnClick type="text" id="emailAddressCC" name="emailAddressCC" class="form-control" value="" placeholder="CC" />
                </li>
                <li data-keepOpenOnClick>
                    <input data-keepOpenOnClick type="text" id="subject" name="subject" class="form-control" value="" placeholder="Subject" />
                </li>
                <li data-keepOpenOnClick>
                    <textarea data-keepOpenOnClick id="message" class="form-control" name="message" value="" rows="8" placeholder="Message"></textarea>
                </li>
                <li data-keepOpenOnClick ng-hide="true">
                    <input name="DocumentUrl" value="" ng-model="model.pdfUrlForEmail" />
                </li>
                <li role="separator" class="divider"></li>

                <li data-keepOpenOnClick>
                    <button type="submit" id="btnForSubmit" style="float:right" class="btn btn-success">Send</button>
                    <button style="float:left" type="button" id="reset" class="btn btn-danger">Reset</button>
                </li>
            </form>
        </ul>
    </div>

    <button type="button" class="btn btn-default dropdown-toggle" id="emailButton" style="height:30px" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Email
    </button>
    <span><i class="sprite open-icon"></i><a ng-click="getPdf(false)">Open</a></span>
    <!--<span><i class="sprite save-icon"></i><a href="#" ng-click="getPdf(true)">Save</a></span>-->
    <button type="button" ng-click="close()">Close</button>
</div>

您的电子邮件按钮上似乎没有处理程序。提交时,您似乎正在关闭表单,但没有通过此电子邮件按钮处理状态

看看这个非常简单的例子

更新

将其放在ajax块之外,并根据需要进行调整

$("#emailButton").on('click', function(){
    $("#formContainer").toggle();
});

希望有帮助-

您的电子邮件按钮上似乎没有处理程序。提交时,您似乎正在关闭表单,但没有通过此电子邮件按钮处理状态

看看这个非常简单的例子

更新

将其放在ajax块之外,并根据需要进行调整

$("#emailButton").on('click', function(){
    $("#formContainer").toggle();
});


希望有帮助-

第一个问题很好;)结构良好,您已经谈论了您的工作,并且添加了重要的代码+1您似乎在#Email按钮上没有负责打开/关闭表单的处理程序。表单是否以“打开”开头?然后你提交并关闭?@Bosworth99是的,如果我还没有发送电子邮件,电子邮件按钮会打开和关闭表单。一旦ajax调用被触发并且电子邮件表单关闭,它就不会重新打开,除非我单击它两次。@SlavaN。应用程序本身是角度的。我最近刚刚接管了这个应用程序,它既有Jquery,也有Angular.add,为你的emailButton处理程序添加代码。这里没有任何引用。非常好的第一个问题;)结构良好,您已经谈论了您的工作,并且添加了重要的代码+1您似乎在#Email按钮上没有负责打开/关闭表单的处理程序。表单是否以“打开”开头?然后你提交并关闭?@Bosworth99是的,如果我还没有发送电子邮件,电子邮件按钮会打开和关闭表单。一旦ajax调用被触发并且电子邮件表单关闭,它就不会重新打开,除非我单击它两次。@SlavaN。应用程序本身是角度的。我最近刚刚接管了这个应用程序,它既有Jquery,也有Angular.add,为你的emailButton处理程序添加代码。这里没有任何引用。我在小提琴中添加了代码。现在发生的是,当我点击电子邮件按钮时,它完全消失了。不过我会继续玩它。看看我是如何更改标记的。我把按钮移到了保存表单的容器外面。单击按钮将作用于该容器。显然,您不希望删除该按钮;)好的,现在我将按钮移到表单容器外,它现在将open类添加到报表底部容器中,但不会切换电子邮件表单。click函数也在ajax块之外。我还向表单容器添加了一个ID,您需要添加该ID,或者将jquery连接到一个类int he$()选择器。更新你的代码,我再看一眼-嘿,这应该可以用了。查看我的第二个小提琴链接,我直接从您的标记中提取了它。还有什么可能会影响这一点吗?我在小提琴中添加了代码。现在发生的是,当我点击电子邮件按钮时,它完全消失了。不过我会继续玩它。看看我是如何更改标记的。我把按钮移到了保存表单的容器外面。单击按钮将作用于该容器。显然,您不希望删除该按钮;)好的,现在我将按钮移到表单容器外,它现在将open类添加到报表底部容器中,但不会切换电子邮件表单。click函数也在ajax块之外。我还向表单容器添加了一个ID,您需要添加该ID,或者将jquery连接到一个类int he$()选择器。更新你的代码,我再看一眼-嘿,这应该可以用了。查看我的第二个小提琴链接,我直接从您的标记中提取了它。还有什么可能会影响这一点吗?