十月CMS-单选按钮Ajax连续点击两次导致内容消失

October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear

本文关键字:两次 消失 Ajax 单选按钮 CMS- 连续 十月      更新时间:2023-09-26

我正在使用October CMS和物化CSS在我的一个页面上创建一个选项表单。该表单运行良好,当您单击各种选项时会动态加载内容。然而,我注意到,如果我连续两次单击同一选项,内容就会消失,也不会插入新数据。甚至加载屏幕也无法显示。调试表明,实际上没有发出ajax请求。有人知道我如何更改这一点吗?这样,点击两次就会将当前内容留在页面上,或者重新加载页面上的内容?以下是有问题的无线电元件和完整的部分。

单选按钮:

<p class="optrow">
    <input onclick="onsend()" type="radio" class="box" id="cat_all" 
           name="dates" value="all" data-request="onEventDeals" 
           checked="checked" data-request-update="'deals::default':'#deals'" 
           data-request-loading="#loading">
    <label for="cat_all">&nbsp;&nbsp;Show All</label>
</p>

部分:

<ul class="collapsible" data-collapsible="accordion">
    <li>
      <div class="collapsible-header active"><i class="material-icons">format_list_bulleted</i>Deal Options</div>
        <div class="collapsible-body"><form id="dealsoptions" class data-request="onTest" data-request-update="calcresult: '#deals'">
            {# <p>
              <a href="#" onClick="onsend()" id="see_all">See All Deals - Clear</a>
            </p> #}
            {# <h5><b>&nbsp;Deal Source</b></h6>
            <hr>
            <div id="dealsource">
                <p class="optrow">
                  <input onClick="onsend()" type="checkbox" class="box" id="source_all" name="userProviders[]"
                         value="all" data-request="onLocalDeals" data-request-update="'deals::default': '#deals'"
                         data-request-loading="#loading" data-request-data="clear:1"/>
                  <label for="source_all">&nbsp;&nbsp;Show All</label>
                </p>
                {% for provider in providers %}
                    <p class="optrow">
                      <input onClick="onsend()" type="checkbox" class="box sourcebox" id="source_{{ provider.userProviderID }}" name="userProviders[]" value="{{ provider.userProviderID }}" checked="checked" data-request="onLocalDeals" data-request-update="'deals::default': '#deals'" data-request-loading="#loading"/>
                      <label for="source_{{ provider.userProviderID }}">&nbsp;&nbsp;{{ provider.providerName }}</label>
                    </p>
                {% endfor %}
            </div> 
            #}
            <hr>
            <h5><b>&nbsp;Event Date</b></h6>
            <hr>
            <div id="eventdate">
                <p class="optrow">
                  <input onClick="onsend()" type="radio" class="box" id="cat_all"
                         name="dates" value="all" data-request="onEventDeals" checked="checked" 
                         data-request-update="'deals::default': '#deals'" data-request-loading="#loading"/>
                  <label for="cat_all">&nbsp;&nbsp;Show All</label>
                </p>
                {% set weekEnd = "this sunday"|date('Y-m-d') %}
                {% set dates = {'Today':{'start':"now"|date("Y-m-d"),'end':"now"|date("Y-m-d")},
                                'Tomorrow':{'start':"now"|date_modify("+1 day")|date("Y-m-d"),'end':"now"|date_modify("+1 day")|date("Y-m-d")},
                                'This_Weekend':{'start':"this sunday"|date_modify("-2 day")|date('Y-m-d'),'end':weekEnd},
                                'This_Week':{'start':"now"|date("Y-m-d"),'end':weekEnd},
                                'This_Month':{'start':"now"|date("Y-m-d"),'end':"now"|date("Y-m-t")}} %}
                {% for key,date in dates %}
                    <p class="optrow">
                      <input onClick="onsend()" type="radio" class="box type_{{ key }}"
                             id="cat_{{ key }}" name="dates" 
                             value="{{ date.start }}:{{ date.end }}" 
                             data-request-data="start:'{{ date.start }}',end:'{{ date.end }}'"
                             data-request="onEventDeals" data-request-update="'deals::default': '#deals'"
                             data-request-loading="#loading"/>
                      <label for="cat_{{ key }}">&nbsp;&nbsp;{{ key|replace({'_':' '})|title }}</label>
                    </p>
                {% endfor %}
            </div>
            {% partial 'deals::apps' %}
        </form>
      </div>
    </li>
</ul>

我注意到你的输入上有onClick="onsend()",这可能会导致AJAX处理程序被触发的问题。试着删除它,看看它是否会继续。