php echo mysql到javascript选项卡将不会出现
请任何人都能帮我解决这个问题,我将不胜感激 当我在div外部为选项卡使用此代码时,它工作正常,但在div内部时,它无法显示:php echo mysql到javascript选项卡将不会出现,javascript,php,html,mysql,Javascript,Php,Html,Mysql,请任何人都能帮我解决这个问题,我将不胜感激 当我在div外部为选项卡使用此代码时,它工作正常,但在div内部时,它无法显示: echo '<div id="product-desc">'.$obj->product_desc.'</div>'; echo'.$obj->product_desc'; 以下是该页面的脚本: <?php session_start(); include_once("config.php"); ?> <!DOCTYPE
echo '<div id="product-desc">'.$obj->product_desc.'</div>';
echo'.$obj->product_desc';
以下是该页面的脚本:
<?php
session_start();
include_once("config.php");
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet" type="text/css">
<link href="style/normalise.css" rel="stylesheet" type="text/css">
<link href="style/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="page-wrapper">
<div id="product-page">
<div id="wrapper">
<?php
$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$results = $mysqli->query("select * from products where product_code='nikon002'");
if ($results)
{
$obj = $results->fetch_object();
echo '<div id="products-wrapper">';
echo '<form method="post" action="cart_update.php">';
echo '<div id="product-image"><img src="images/new folder/'.$obj->product_thumb_name.'"></div>';
echo '<div id="product-name"><h3>PC '.$obj->product_name.'</h3></div>';
echo '<div id="product-price">'.$currency.$obj->price.'</div>';
echo '<div id="product-buybttn"><br><button class="add_to_cart">Buy</button></div>';
echo '<div id="tabContainer">';
echo '<div id="tabs">';
echo '<ul>';
echo '<li id="tabHeader_1">Summary</li>';
echo '<li id="tabHeader_2">Details</li>';
echo '<li id="tabHeader_3">Specifications</li>';
echo '</ul>';
echo '</div>';
echo '<div id="tabscontent">';
echo '<div class="tabpage" id="tabpage_1">';
echo '<h2>Summary</h2>';
echo '<p>im summary</p>';
echo '<div id="product-desc">'.$obj->product_desc.'</div>';
echo '<p>im summary</p>';
echo '</div>';
echo '<div class="tabpage" id="tabpage_2">';
echo ' <h2>Details</h2>';
echo '<p>ADFASFASFSAFA</p>';
echo '<div id="product-desc">'.$obj->product_desc.'</div>';
echo '</div>';
echo '<div class="tabpage" id="tabpage_3">';
echo ' <h2>Specifications</h2>';
echo '<div id="product-desc">'.$obj->product_desc.'</div>';
echo '</div>';
echo ' </div>';
echo ' </div>';
echo ' </div>';
echo ' </div>';
echo '<script src="tabs_old.js"></script>';
echo '</div>';
echo '</div>';
}
?>
</div>
你真的需要仔细阅读关于s的内容,或者至少停止使用echo
那么多。你是否使用css属性display:none
到div
css文件中的任何位置?你是否尝试过在php执行后加载javascript。查看javascript,它可能在php获得值之前在onload函数上执行。可以在页面末尾延迟加载js。首先使用回显值而不是完整查询执行简单测试。还可以尝试将脚本移动到}lineno display:none之后,在css中的任何位置都没有使用,我在循环中为一个变量分配了一条语句,当在javascript选项卡中调用它时,它成功地显示了它。我只需将html/js移出php,然后在每个选项卡部分进行查询,就可以解决这个问题,而不是一开始。干杯
window.onload=function() {
// get tab container
var container = document.getElementById("tabContainer");
var tabcon = document.getElementById("tabscontent");
//alert(tabcon.childNodes.item(1));
// set current tab
var navitem = document.getElementById("tabHeader_1");
//store which tab we are on
var ident = navitem.id.split("_")[1];
//alert(ident);
navitem.parentNode.setAttribute("data-current",ident);
//set current tab with class of activetabheader
navitem.setAttribute("class","tabActiveHeader");
//hide two tab contents we don't need
var pages = tabcon.getElementsByTagName("div");
for (var i = 1; i < pages.length; i++) {
pages.item(i).style.display="none";
};
//this adds click event to tabs
var tabs = container.getElementsByTagName("li");
for (var i = 0; i < tabs.length; i++) {
tabs[i].onclick=displayPage;
}
}
// on click of one of tabs
function displayPage() {
var current = this.parentNode.getAttribute("data-current");
//remove class of activetabheader and hide old contents
document.getElementById("tabHeader_" + current).removeAttribute("class");
document.getElementById("tabpage_" + current).style.display="none";
var ident = this.id.split("_")[1];
//add class of activetabheader to new active tab and show contents
this.setAttribute("class","tabActiveHeader");
document.getElementById("tabpage_" + ident).style.display="block";
this.parentNode.setAttribute("data-current",ident);
}
</body>
</html>