1

我有一个搜索表单data-ajax=false。因为我想编写自己的自定义 ajax 调用。

<form id="search" data-ajax="false">
<fieldset data-role="controlgroup" data-mini="true">
<input required="required" autocorrect="off" name="TERM_1" placeholder="Search Catalogue" type="search" value=""/>
</fieldset>
</form>

下面是js代码

$(document).bind('pageinit',function() {
$('#search').unbind('submit');
        $('#search').submit(function(event) {
        $.mobile.loading( 'show', { text: "loading", textonly: true, textVisible : true });
        input = $('[name="TERM_1"]').val();
        $.ajax(
        {
            type: "GET",
            async: false,
            url: 'LiberoWebServices.JSONAPI.cls',
            data: 
            {
                Method: "Catalogue",
                Type: "simple",
                Split: 10,
                Term: input
            },
            dataType: 'jsonp',
            success: function(data) {
                loadResults(data);
            },
            complete: function(data) {
                $.mobile.loading('hide');
            }
        })
        return false;
        });
    });

加载弹出窗口似乎没有显示。我猜这与我解除绑定和绑定的方式有关。我取消绑定的原因是每次我提交表单时,它都会为我在 DOM 中预取的所有其他页面运行 ajax 调用。我不确定这样做的最佳方法是什么。

需要帮助弄清楚如何让加载弹出窗口显示。谢谢

4

1 回答 1

0

使用逻辑上的变化。而不是这个:

 $('#search').unbind('submit');

创建一个函数指针并重置绑定以运行一次,如这些不相关的问题:

于 2014-03-12T23:37:41.787 回答