0

为什么这个简短的例子不起作用?我正在尝试即时计算总和,但似乎该函数没有更新总框。

在我的实际工作中,我使用单选按钮即时更新定价(而不是此处显示的按钮),每个按钮都应用了 onclick 功能。

http://jsfiddle.net/jvEDt/1/

任何帮助都会很棒!非常感谢

Your order total: <input type="text" id="totalbox" name="totalbox" size="10" maxlength="10" readonly="readonly" value="0.00" /><br>

<input name="Order" type="submit" value="Order" onclick ="JavaScript: calculateTotal();">

function calculateTotal()
{
var total = "5.00";
var totalbox = document.getElementById('totalbox');
totalbox.value = "£" + total;
}
4

3 回答 3

1

jsFiddle 中有不同的设置应该如何处理 javascript。

onLoad
这会在正文已加载时执行脚本:

<body onLoad="<your script>">

No wrap - in head
这会将脚本插入以下head部分:

<head>
  Your script
</head>

在您的情况下,您不想执行脚本,而是将其包含在页面上,以便它在全球范围内可用。No wrap - in head是您应该使用的设置。

于 2013-05-30T11:27:49.830 回答
0

您可以在运行时定义您的函数:

calculateTotal = function()
{
    // your code
}

或者您可以更改 jsfiddle 中加载 Javascript 的位置,No wrap如其他答案中所述。

检查这个线程关于运行时和解析时定义的函数:var functionName = function() {} vs function functionName() {}

于 2013-05-30T11:27:45.970 回答
0

另外:

<input name="Order" type="button" value="Order" onclick="calculateTotal();">

没有空格,没有 JavaScript:等等。

于 2013-05-30T11:28:33.223 回答