Javascript GetElementbyID和Innerhtml不工作

Javascript GetElementbyID和Innerhtml不工作,javascript,Javascript,我不知道我做错了什么。这是一个由两部分组成的问题。请参阅下面的代码。首先,它一直说可变资本为空。其次,我无法让innerHTML工作。我不知道为什么它不起作用。我知道我有document.write,我不打算使用它,所以我正在努力理解getElementbyId.innerHTML的工作原理 HTML JavaScript 1您的按钮没有一个。 2有一个计时问题-您需要将代码放入一个在onload时执行的函数中 <body onload="fnonload();"> 我建议您使用c

我不知道我做错了什么。这是一个由两部分组成的问题。请参阅下面的代码。首先,它一直说可变资本为空。其次,我无法让innerHTML工作。我不知道为什么它不起作用。我知道我有document.write,我不打算使用它,所以我正在努力理解getElementbyId.innerHTML的工作原理

HTML

JavaScript

1您的按钮没有一个。 2有一个计时问题-您需要将代码放入一个在onload时执行的函数中

<body onload="fnonload();">

我建议您使用console.log语句作为调试工具来查看代码的进度。这对我帮助很大。

页面中哪里有javascript?转到jsfiddle.net并粘贴代码,然后发布一个指向非工作代码的链接,这样我们就可以看到哪些不工作。请注意,每次运行calculate函数时,整个文档被覆盖,所有HTML都消失了。由于不同的原因,fiddle无法工作:没有ID为test的元素,也没有将calculate绑定为事件处理程序。您也不能使用calculate作为事件处理程序,因为您将fiddle设置为在load事件处理程序中运行代码,这使calculate成为事件处理程序的本地代码。我建议您首先熟悉JSFIDLE,这样您就可以重现您所遇到的完全相同的问题。谢谢!我可以去哪里做更多关于时间问题的研究?在另一个项目中,我使用onclick处理程序获取getElementById。在这一次,我想做它的加载。这不是我要做的,但我只是想看看。@user3512034不客气。我去了链接,了解到有很多方法可以解决这个问题。另一个链接是。这是一个无底洞。你能接受我的回答吗?可能不会。
var capitals = document.getElementById("capitalr");
var x = capitals.id;
var pps = document.shares.price.value;
function calculate () {
    document.write("Capital = " + capitals +"<br>");
    document.write("Price per share is = " + pps);
}
document.getElementById("hello").innerHTML="Hello";
<body onload="fnonload();">