我需要一些经验帮助。我不知道该怎么做并且完全模糊。
我正在使用 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 代码并显示我想要的结果。
这里有人可以帮忙吗?