W3验证程序->;使用<;脚本类型=";text/javascript“&燃气轮机;在html的主体中

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() {

我正在尝试验证我的页面,但有一个错误需要修复

我在代码中使用谷歌图表。要填充图表,我需要在下面代码中显示的JavaScript中填充数据

<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),并查看其验证效果如何。