Ajax 在选项卡中替换 HTML
Ajax to do replace of HTML in a tab
我在这里需要一些经验帮助。我不知道该怎么做,完全模糊。
我正在使用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 中的 loadSubFeatureinfo(tabcatid,live_site.js 使用以下代码
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 中ajax_loadfeainfo.php
case "ajax_loadfeainfo":
$tabcatid = JRequest::getVar('tabcatid','');
OspropertyAjax::loadSubfeature($option,$tabcatid);
break;
然后到函数 loadSubfeature($option,$tabcatid) 在 ajax 中.php
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 生成的 html 替换页面某个部分中的原始 html 代码.php并显示我想要的结果。
这里有人可以帮忙吗?
不要混淆只是在ajax中回显输出html.php所以你会把它放到响应中,当你得到响应文本时,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;
相关文章:
- 用DRY方式Javascript/JQuery动态替换HTML
- 替换HTML元素中的字符
- jQuery,Ajax:无法替换HTML
- 替换 html 字符串中的某些“<”和“>”
- jQuery在用新文本替换HTML文本时淡出HTML文本,而不是仅显示
- 如何用JavaScript替换HTML字符串
- Javascript Regex替换HTML标记
- 使用 jQuery 替换 HTML
- 如何用jQuery替换HTML标签的一部分
- 如何在javascript中替换HTML特殊字符
- 试图通过克隆节点来替换 HTML,但得到奇怪的结果
- 如何在jquery中用转义符替换html内容
- 如何使用JavaScript替换html元素
- 测试并替换HTML中的关键字
- 用循环中的数组内容替换html中的字符串
- 用Perl替换HTML文件的JavaScript代码
- 基于查询字符串替换HTML
- 如果满足条件,请防止用PJAX替换html内容
- 用链接 JavaScript 替换 HTML 的问题
- 在 JS 中替换 html 中的代码字符串