将OnClick更改为OnKeyUp

时间:2018-03-24 04:22:37

标签: javascript php jquery joomla module

我没有很多PHP,JQuery和Ajax的经验。我试图在Joomla中创建一个像https://www.w3schools.com/php/php_ajax_livesearch.asp一样工作的模块。

我已经使用过一些关于如何为Joomla创建模块的东西。我从他们复制的模块几乎完全符合我的要求。返回基于搜索框的文章链接。唯一的问题是它不是实时搜索,而是提交。

这是发送xmlhttprequest的代码:

(function ($) {
    $(document).on('click', 'input[type=submit]', function () {    
        var value = $('input[name=data]').val(),        
        request = {
            'option' : 'com_ajax',
            'module' : 'ajax_search',
            'data'   : value,
            'format' : 'raw'
        };
        $.ajax({
            type   : 'POST',
            data   : request,
            success: function (response) {$('.search-results').html(response);}
        });
        return false;
    });
})(jQuery)
  

未捕获的ReferenceError:未定义请求

进一步通过js文件,我发现了这条断线

  

g.send(b.hasContent&& b.data || null),

这就是给我404错误,所以它没有正确收到请求

以下是修改后的代码I尝试工作

(function ($) {
    $(document).ready(function () {
        $('input[name=data]').keyup(function() {
            var value   = $('input[name=data]').val(),
            request = {
                'option' : 'com_ajax',
                'module' : 'ajax_search_ver2',
                'data'   : value,
                'format' : 'raw'
            };
            $.ajax({
                type   : 'POST',
                data   : request,
                success: function (response) {$('.search-results').html(response);}
            });
            return false;
        });
    });
})(jQuery)

此代码可以正常工作并发送请求。但是,当我尝试将其转换为keyup时,就像w3schools示例一样,它在请求时遇到问题。我用chrome开发人员工具调试了代码,它给了我一个错误

我之前看过的回答是关于"为什么你没有做到这一点......"再一次,我在这里只是一个初学者。我试图了解逻辑以及如何更改几行代码来为keyup事件提交提交按钮可能会破坏xmlhttprequest。任何帮助表示赞赏。如果您需要进一步的输入,请告诉我。

0 个答案:

没有答案