使用html但不使用php的Javascript对象
我在一个使用文本框的网站上工作,并对用户提交的内容进行处理 在我的索引页面上,我不使用PHP(全部为HTML),我希望使用的Javascript选项卡工作得非常好。但是,在用户输入并提交某些内容后,下一个加载的页面将显示PHP。PHP页面调用一个函数来打印HTML,但即使此页面与上一个索引页面完全相同,选项卡也无法工作使用html但不使用php的Javascript对象,javascript,php,html,Javascript,Php,Html,我在一个使用文本框的网站上工作,并对用户提交的内容进行处理 在我的索引页面上,我不使用PHP(全部为HTML),我希望使用的Javascript选项卡工作得非常好。但是,在用户输入并提交某些内容后,下一个加载的页面将显示PHP。PHP页面调用一个函数来打印HTML,但即使此页面与上一个索引页面完全相同,选项卡也无法工作 ... <article id="navtabs" class="grid col-full"> <h2>Tabs</h2>
...
<article id="navtabs" class="grid col-full">
<h2>Tabs</h2>
<div class="">
<ul class="tabs clearfix">
<li><a href="#tab1">First</a></li>
<li><a href="#tab2">Second</a></li>
<li><a href="#tab3">Third</a></li>
</ul>
<div class="tab_container">
<article id="tab1" class="tab_content">
<p>Lorem ipsum dolor sit amet</p>
</article>
<article id="tab2" class="tab_content">
<h6>Heading</h6>
<p>Lorem ipsum dolor sit amet</p>
</article>
<article id="tab3" class="tab_content">
<h6>Heading</h6>
<p>Lorem ipsum dolor sit amet</p>
</article>
</div>
</div>
</article>
...
你知道为什么这在只使用HTML而不是放在PHP函数中时会起作用吗
编辑澄清:在有效的版本中,它只是简单的HTML。在这个版本中,我做了一个HTML的回声。这是失败的版本。简单回答
你知道为什么这在只使用HTML而不是放在PHP函数中时会起作用吗
他们都很不一样。Javascript是客户端编码,PHP是服务器端编码
你应该真正理解它们之间的区别。语法也不同。如果HTML是正确的,javascript是正确的,并且已加载,那么HTML是来自静态文件还是由PHP生成就没有区别了。浏览器仍然将其视为HTML(PHP是服务器端的,因此浏览器永远不会看到),javascript在浏览器中运行 这给我们留下了以下可能性:
这是假设您正在加载用PHP生成的整个页面-如果您开始在ajax请求中添加位,那么情况会发生变化,因为您在document ready中设置了tab code,并且只看到页面的原样。您可以
echo
it,我就是这么做的。我应该说明的。我读这篇文章的时候也是这么想的。最好能理解脚本被回送的过程,它是完全相同的HTML。我试着获取原始页面,并简单地将其封装在PHP中,然后使用echo打印它,但最终失败了。我假设javascript文件正在加载,因为我在HTML中没有做任何更改。是的,整个页面都使用PHP(只是一个简单的回显),你是说你已经将整个HTML复制成一个字符串,然后用PHP回显?可能是引号的问题。您需要检查生成的HTML是否匹配(即加载页面,在浏览器中查看源代码(通常在右键单击菜单上)然后比较这两个页面的HTML源代码。控制台怎么说?控制台是空的,没有错误或警告。查看页面源代码并进行比较?太好了,谢谢!页脚包含在回音中,它包含Javascript正常运行所需的一些内容。
$(document).ready(function() {
...
//TABS
var tabContents = $(".tab_content").hide(),
tabs = $("ul.tabs li");
tabs.first().addClass("active").show();
tabContents.first().show();
tabs.click(function() {
var $this = $(this),
activeTab = $this.find('a').attr('href');
if(!$this.hasClass('active')){
$this.addClass('active').siblings().removeClass('active');
tabContents.hide().filter(activeTab).fadeIn();
}
return false;
});
...
});