W3验证程序->;使用<;脚本类型=";text/javascript“&燃气轮机;在html的主体中
我正在尝试验证我的页面,但有一个错误需要修复 我在代码中使用谷歌图表。要填充图表,我需要在下面代码中显示的JavaScript中填充数据W3验证程序->;使用<;脚本类型=";text/javascript“&燃气轮机;在html的主体中,javascript,php,jquery,html,validation,Javascript,Php,Jquery,Html,Validation,我正在尝试验证我的页面,但有一个错误需要修复 我在代码中使用谷歌图表。要填充图表,我需要在下面代码中显示的JavaScript中填充数据 <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() {
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([ <?php echo $data; ?> ]);
var data2 = google.visualization.arrayToDataTable([ <?php echo $datagoing; ?> ]);
var options = {
backgroundColor: 'transparent',
legend: 'none',
height: '100px',
width: '100px',
chartArea: { height :"95%", width:"95%" },
};
var options2 = {
backgroundColor: 'transparent',
legend: 'none',
height: '100px',
width: '100px',
chartArea: { height :"95%", width:"95%" },
};
var chart = new google.visualization.PieChart(document.getElementById('piechart<?php echo $loop ?>'));
chart.draw(data, options);
var chart2 = new google.visualization.PieChart(document.getElementById('piechartgoing<?php echo $loop ?>'));
chart2.draw(data2, options2);
}
</script>
load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([]);
var data2=google.visualization.arrayToDataTable([]);
变量选项={
背景色:“透明”,
图例:“无”,
高度:“100px”,
宽度:“100px”,
图表区:{高度:“95%”,宽度:“95%”,
};
var选项2={
背景色:“透明”,
图例:“无”,
高度:“100px”,
宽度:“100px”,
图表区:{高度:“95%”,宽度:“95%”,
};
var chart=new google.visualization.PieChart(document.getElementById('PieChart');
图表绘制(数据、选项);
var chart2=新的google.visualization.PieChart(document.getElementById('piechartgo');
图表2.绘图(数据2,选项2);
}
这是在一个循环中,因此代码会多次生成,您可以通过查看my page的源代码看到这一点
我的问题是,如何在保持页面html有效性的同时做到这一点:问题在于,您将脚本直接放在
标记和中的tr
s之间。您现在拥有的:
<table>
<tr>
<td>...</td>
...
</tr>
<script type="text/javascript">...</script>
...
</table>
...
...
...
...
要快速解决此问题,请将脚本移动到行的最后一个
内(
为a)。效果将是相同的,它将验证没有问题。大概是这样的:
<table>
<tr>
<td>...</td>
...
<td>
...
<script type="text/javascript">...</script>
</td>
</tr>
...
</table>
...
...
...
...
...
但是,如果你想以一种更干净、更优雅的方式解决问题,你应该按照Rory在评论中的建议去做:创建一个函数,并简单地调用它来更改参数,而不是使用大量几乎相同的代码块。除了脚本问题,您可以通过只包含一次
drawChart
函数,然后使用所需参数调用它来大幅减少代码。您是否在PHP中提供了所有这些代码,而?只是为了澄清一下,XHTML 1.0 Transitional
?如果您没有特别注意到XHTML、HTML4.01和HTML5之间的差异,您可以尝试将顶行更改为
(HTML5),并查看其验证效果如何。