当前位置: 首页 > 面试题库 >

如何在Joomla组件中使用Jquery AJAX?

孔硕
2023-03-14
问题内容

我在Joomla的开发站点中,同时我遇到了问题,请解决以下问题

这是我组件的文件夹结构

htdocs/Joomla/administrator/component/com_test/test.php,controller.php
                                              models/test.php
                                              controllers/test.php
                                              views/test/view.html.php
                                              view/test/tmpl/default.php

现在view.html.php我创建了一个表单,其中即时消息使用 jquery ajax代码进行usernmae可用性检查

但我没有得到我如何结合所有事情来获得usename可用或不可用的结果

这是我在 test / view.html.php* 上编写的代码 *

<script type="text/javascript">
 jQuery(document).ready(function(){
 jQuery("#username").change(function () {
    var usr = jQuery("#username").val();
    if (usr.length >= 2) {
     jQuery("#status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...');
     jQuery.ajax({
         type: "POST",
         url: "index.php?option=com_test&view=check_user",
         data: "username=" + usr,
         success: function (msg) {
         jQuery("#status").ajaxComplete(function (event, request, settings) {
         if (msg == 'OK') {
            jQuery("#username").removeClass('object_error'); // if necessary
                jQuery("#username").addClass("object_ok");
         }
         else {
               jQuery("#username").removeClass('object_ok'); // if necessary
               jQuery("#username").addClass("object_error");
               jQuery(this).html(msg);
         }
       });
      }
    });
  }    
});

<script>

<form action="" method="post" name="addUserForm" id="addUserForm" > 
   <table width="100%" border="0" cellpadding="4" cellspacing="2">
     <tr>
    <th >User Name :</th>
        <td ><input type="text" name="username" id="username" size="50">
             <span id="status"></span>  
        </td>
     </tr>      
   </table>
</form>

我已经为以下操作创建了以下文件夹结构,请告诉我我在哪里出错

view/check_user/view.html.php
views/check_user/tmpl/default.php

check_user / view.html.php中的* 代码 *

<?php

// no direct access
defined('_JEXEC') or die('Restricted access');

jimport( 'joomla.application.component.view');

/**
 * HTML View class for the advertising component
 */
class TestViewCheck_user extends JView 
{
   /**
    * Default display function
    */  
    function display($tpl = null) 
    {
        $testController = new TestController();
        // Make an object of Main Model class contains Main functions
        $testModel = $testController->getModel('test');
        $userName  = JRequest::getVar('username');
        parent::display($tpl);
        }
 }
?>

但是当我运行这段代码…为什么
http://localhost/Joomla/includes/js/joomla.javascript.js文件运行无限次..最后给出4错误

现在我要修改/添加更多???请只是指导我....

请参考教您逐步创建组件的任何有用链接…对我非常有帮助

非常感谢


问题答案:

所有前端代码都应该在您的tmpl中,因此您的Ajax内容也应该在其中。请查看本教程,了解如何为Joomla制作MVC组件
http://www.joomladevuser.com/tutorials/components
(无效链接)。



 类似资料:
  • 我正在向joomla组件文件view/edit/tmpl/default添加一些jquery和css。php。我知道我需要使用jdocinclude,但是这样做的步骤是什么?我应该把jdoc:include放在哪里? 代码是这样的。 需要包含的文件

  • 我打电话给编辑器,它看起来,但它的扩展版本,这是为整个页面的管理设置全局,我希望它保持在那里。 但是在我的组件中,我想要一个提尼姆斯的高级版本。 下面是我如何称呼tinymce的代码:

  • 问题内容: 我有一个用于AJAX查询的PHP脚本,但我希望它们能够在Joomla(2.5)框架的保护下运行,以便可以使用会话ID,用户ID等。 例如: 其中ajax.php具有以下代码: 据我了解,最好是对标准的Joomla组件进行AJAX / JSON调用。我对开发MVC组件了解不多,但是从我的眼中可以看出,这对于我想做的事情来说是过大了。 还有其他我可以使用的东西吗? 问题答案: 如果您创建一

  • 我在Joomla2.5中编写了一个组件,我使用这个 在每个view.html.php文件中,从打开视图切换到另一个。 这很好,但是如果我添加或更改一个菜单项,这很烦人,因为我必须在所有文件中单独更改它。 什么是最好的(符合MVC设计)方法来实现这一点?我想只是简单地使用php方法(包括或要求)不是办法。

  • 一段时间以来,我一直在试图弄明白这一点,尽管我在网上发现了各种各样的例子,但我还是完全弄糊涂了,因为似乎没有一个能完全符合我的意图。 我有一个Joomla组件,我正在构建,前端有一个单一的视图。在默认模板('default.php')中创建了两个。一个包含项目列表,另一个为空白。我有代码,让我点击列出的项目之一,并返回该项目唯一的ID。然后,我想在Ajax调用中使用该ID,从数据库中的表中检索数据

  • 本文向大家介绍如何在Vue.JS中使用图标组件,包括了如何在Vue.JS中使用图标组件的使用技巧和注意事项,需要的朋友参考一下 原文链接:https://gist.github.com/Justineo/fb2ebe773009df80e80d625132350e30 本文对原文进行一次翻译,并从React开发者的角度简单地做了一些解读。 此文不包含字体图标和SVG sprite。仅在此讨论允许用