Javascript代码验证但不输出

Javascript代码验证但不输出,javascript,Javascript,我一直在编写代码来计算运费。我的代码是用HTML编写的,但我意识到它必须是用XHTML1.0编写的。知道它有效,我开始处理验证错误。我现在没有错误,但代码停止输出总成本。我哪里出了问题 更新代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://ww

我一直在编写代码来计算运费。我的代码是用HTML编写的,但我意识到它必须是用XHTML1.0编写的。知道它有效,我开始处理验证错误。我现在没有错误,但代码停止输出总成本。我哪里出了问题

更新代码

 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title> "Calculate Shipping" </title>
<script type="text/javascript">
  // <![CDATA[
function calculateShipping() }
    var price = parseFloat(document.getElementById('price').value);
    //This will add $1.50 to any purchases that are less than or equal
to $25.00.
    if (price <= 25){
        price = (price) + 1.5;
    } else {
        //return price * 10 / 100
        var percentToAdd=(price) * .1;
        price=(price)+(percentToAdd);
    }

    document.getElementById('result').innerHTML='Total Order Cost:
'+price; 

// ]]>
</script>
</head>

<body>
<h1>Enter Purchase Price</h1>

<form action="#">
<div id="result">
<input type="text" name="price" id="price" />
<input type="button" value="Submit" onclick=calculateShipping(); return
false;" />
</div>
</form>
</body>
</html>

“计算运费”
// 
输入购买价格

浏览器可能试图将这些CDATA声明作为Javascript进行评估(请记住,大多数浏览器都会像解析HTML一样解析XHTML)。尝试将它们放在Javascript注释中

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
另一种可能是将Javascript放在单独的文件中,而不是尝试将其嵌入文档中

 <script type="text/javascript" src="shipping.js"></script>



最后,您可能想看看这个类似的问题:

浏览器可能试图将这些CDATA声明作为Javascript进行评估(请记住,大多数浏览器都会像解析HTML一样解析XHTML)。尝试将它们放在Javascript注释中

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
另一种可能是将Javascript放在单独的文件中,而不是尝试将其嵌入文档中

 <script type="text/javascript" src="shipping.js"></script>



最后,您可能想看看这个类似的问题:

浏览器可能试图将这些CDATA声明作为Javascript进行评估(请记住,大多数浏览器都会像解析HTML一样解析XHTML)。尝试将它们放在Javascript注释中

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
另一种可能是将Javascript放在单独的文件中,而不是尝试将其嵌入文档中

 <script type="text/javascript" src="shipping.js"></script>



最后,您可能想看看这个类似的问题:

浏览器可能试图将这些CDATA声明作为Javascript进行评估(请记住,大多数浏览器都会像解析HTML一样解析XHTML)。尝试将它们放在Javascript注释中

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
另一种可能是将Javascript放在单独的文件中,而不是尝试将其嵌入文档中

 <script type="text/javascript" src="shipping.js"></script>



最后,您可能需要检查这个类似的问题:

您缺少一个最后的结束
}


还可以在CDATA语句上使用注释或删除它们(如缺少sez)。

您缺少最后一个结束语
}


还可以在CDATA语句上使用注释或删除它们(如缺少sez)。

您缺少最后一个结束语
}


还可以在CDATA语句上使用注释或删除它们(如缺少sez)。

您缺少最后一个结束语
}

还可以在CDATA语句上使用注释或删除它们(如缺少sez)。

这里有问题:

  • 您缺少函数的结尾}
  • 您正在对字符串执行低于操作。那真是个坏习惯
  • 您的CDATA标记可能被解释为JavaScript
不要在所有错误的位置使用
parseFloat
,只需将parseFloat放在变量定义周围:

var price = parseFloat(document.getElementById('price').value);
此外,确保关闭支架。在这种情况下,只要在最后一行加上一个},函数就会正确关闭

最后,您应该在每个CDATA部分前加上一个双斜杠。就像missingno说的:

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
使用单行注释将其注释掉

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>
PS:尝试使用HTML5,使用以下doctype:

<!DOCTYPE html>

此外,你应该确保你所有的报价都已关闭。如果您正在通过调试器运行此程序,并且没有错误,那么您应该使用更好的调试器。我已经修复了您的代码并将其放入jsbin中,您可以看到它。下次试着把你的代码放进去。我相信它会告诉你所有的错误

PS:您可能不会收到错误,因为您的“js错误调试器”只检查.js文件,并且您已将脚本设置为内联脚本。下次尝试只将JS代码放入调试器。

这里是错误的地方:

  • 您缺少函数的结尾}
  • 您正在对字符串执行低于操作。那真是个坏习惯
  • 您的CDATA标记可能被解释为JavaScript
不要在所有错误的位置使用
parseFloat
,只需将parseFloat放在变量定义周围:

var price = parseFloat(document.getElementById('price').value);
此外,确保关闭支架。在这种情况下,只要在最后一行加上一个},函数就会正确关闭

最后,您应该在每个CDATA部分前加上一个双斜杠。就像missingno说的:

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
使用单行注释将其注释掉

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>
PS:尝试使用HTML5,使用以下doctype:

<!DOCTYPE html>

此外,你应该确保你所有的报价都已关闭。如果您正在通过调试器运行此程序,并且没有错误,那么您应该使用更好的调试器。我已经修复了您的代码并将其放入jsbin中,您可以看到它。下次试着把你的代码放进去。我相信它会告诉你所有的错误

PS:您可能不会收到错误,因为您的“js错误调试器”只检查.js文件,并且您已将脚本设置为内联脚本。下次尝试只将JS代码放入调试器。

这里是错误的地方:

  • 您缺少函数的结尾}
  • 您正在对字符串执行低于操作。那真是个坏习惯
  • 您的CDATA标记可能被解释为JavaScript
不要在所有错误的位置使用
parseFloat
,只需将parseFloat放在变量定义周围:

var price = parseFloat(document.getElementById('price').value);
此外,确保关闭支架。在这种情况下,只要在最后一行加上一个},函数就会正确关闭

最后,您应该在每个CDATA部分前加上一个双斜杠。就像missingno说的:

<script type="text/javascript">
  // <![CDATA[
  // ]]> 
</script>

//  
用s注释掉它