0

我需要一些经验帮助。我不知道该怎么做并且完全模糊。

我正在使用 joomla,并且我有带有 onclick="get_db()" 功能的 li 标签。

<li><a href="#addpanel3" data-toggle="tab" onclick="get_db()"><s1><?php echo Jtext::_('ST_OTHER_INFORMATION');?></s1></a></li>

get_db() 的函数在这里

function get_db()
    {
    var live_site = '<?php echo JURI::root()?>';
    var catid = document.getElementById('category_id');
    var tabcatid = catid.value;
    alert(tabcatid);
    loadSubFeatureinfo(tabcatid,live_site);
    }

get_db() 函数然后使用以下代码在 ajax.js 中调用 loadSubFeatureinfo(tabcatid,live_site)

function loadSubFeatureinfo(tabcatid,live_site){
    xmlHttp=GetXmlHttpObject();
        if (xmlHttp==null){
         alert ("Browser does not support HTTP Request")
        return
        }
    url = live_site + "index.php?option=com_osproperty&no_html=1&tmpl=component&task=ajax_loadfeainfo" + "&tabcatid=" + tabcatid;
//alert(url);
    xmlHttp.onreadystatechange=ajax4gfea;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

function ajax4gfea() {
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
    res = xmlHttp.responseText;
    document.getElementById("subfeature_div").innerHTML = res;      
    } 
}

之后它在 ajax.php 中调用 ajax_loadfeainfo

case "ajax_loadfeainfo":
$tabcatid = JRequest::getVar('tabcatid','');
OspropertyAjax::loadSubfeature($option,$tabcatid);
break;

然后到ajax.php中的函数loadSubfeature($option,$tabcatid)

function loadSubfeature($option,$tabcatid){
global $mainframe;
@header('Content-Type: text/html; charset=utf-8');
echo $tabcatid;
    if($tabcatid == 1){ 
    echo 'This is tab 1 front';
                ?>
                        <?php   
                            if(count($groups) > 0){
                            for($i=0;$i<count($groups);$i++){
                                $group = $groups[$i];
                                $fields = $group->fields;
                                if(count($fields) > 0){

                                    echo JHtml::_('sliders.panel', $group->group_name,strtolower(str_replace(" ","",$group->group_name)));      
                                    ?>
                                    <table  width="100%" class="admintable">
                                    <tr>
                                    <?php
                                    $m = 0;
                                    for($j=0;$j<count($fields);$j++){
                                        $m++;
                                        $field = $fields[$j];
                                        if($field->required == 1){
                                            $require_field .= $field->field_name.",";
                                            $require_label .= $field->field_label.",";
                                        }
                                        ?>

                                            <td class="key" style="padding-top:4px;">
                                                <span class="hasTip" title="<?php echo $field->field_label?>::<?php echo $field->field_description?>">
                                                    <?php echo $field->field_label?>Hello
                                                </span>
                                            </td>
                                            <td valign="bottom">
                                                <?php
                                                HelperOspropertyFields::showField($field,$row->id);
                                                ?>
                                            </td>
                                            <?php
                                                if($m == 2){
                                                    echo "</tr><tr>";
                                                $m = 0;
                                                }
                                            }
                                            ?>

                                        </tr>
                                    <!--    <?php  
                                    } 
                                    ?>-->  
                                    </table>
                                    <!-- End of Addition by Jerry -->
                                    <?php
                            }
                        }
                    ?>
                    <?php   

    }
    exit;
}

我在这里尝试做的是在调用 get_db() 时生成 html 以替换主页中的另一个 html,但它不起作用。

我尝试将变量回显到我的页面中并且它有效。但是,不会发送 html 代码来替换原始 html。

我是一个菜鸟程序员,我不确定我是否做得对。我只需要用 ajax.php 生成的 html 替换我页面的一部分中的原始 html 代码并显示我想要的结果。

这里有人可以帮忙吗?

4

1 回答 1

0

不要混淆,只需在 ajax.php 中回显您的输出 html,这样您就可以将其放入响应中,并且当您获得响应文本时,ajax 调用成功时只需写一个简单的行

document.getElementById("subfeature_div").innerHTML = res;

如果它不起作用,试试这个

document.getElementById("subfeature_div").innerHTML = '';
document.getElementById("subfeature_div").innerHTML = res;

如果这也不起作用试试这个

document.getElementById('subfeature_div').innerHTML =document.getElementById('subfeature_div').innerHTML + res; 
于 2013-11-13T05:21:08.187 回答