我的页面上有一个 div 元素(“ main
”),其内容在两个不同的屏幕之间来回变化(它们的 id 是“ readout
”和“ num
”),其内容存储为隐藏的 div 元素(使用display:none
)。每个屏幕都有一个按钮,该按钮设置main
为另一个隐藏的 div。
由于我努力让 javascript加载,我最终将几乎相同的内容(具有不同的表单名称)放入 main num.innerHTML
:main
num
<p>Number of Passengers per Carriage:</p>
<form method="post" action="javascript:void(0);" name="applesForm" onSubmit="setPassengers();">
<input type="text" name="numApples" id="numPassengers" />
<br/><br/>
<input type="submit" name="Submit" value="OK!"/>
</form>
setPassengers()
成功将main
的内容设置为readout
. readout
成功将main
的内容设置为num
(与 的原始内容几乎相同main
)。但它不会回到读数。
这里是setPassengers()
and setPassengersAgain()
,它们是相同的,但表单名称不同:
function setPassengers()
{
passengers=document.applesForm.numPassengers.value;
document.getElementById('main').innerHTML=readout.innerHTML;
}
function setPassengersAgain()
{
passengers=document.applesFormAgain.numPassengers.value;
document.getElementById('main').innerHTML=readout.innerHTML;
}
所以我的问题是:1)为什么不num
改为readout
?2)有没有办法num
在页面加载时立即加载以简化代码?
编辑:我可以使用 onload,这意味着这num
是唯一被破坏的位......
编辑2:这是隐藏的div:
<div id="readout" style="display:none">
<p>Throughput per hour:</p>
<p id="output">--</p>
<p>Average Dispatch Time:</p>
<p id="avDisTime">--</p>
<form method="post" action="javascript:void(0);" name="dispatchForm" onSubmit="dispatch();i++;">
<input type="submit" name="Submit" value="Press on Dispatch!"/>
</form>
<br/>
<form method="post" action="javascript:void(0);" name="resetTimesForm" onSubmit="resetTimes();">
<input type="submit" name="Submit" value="Reset Times"/>
</form>
<form method="post" action="javascript:void(0);" name="resetAllForm" onSubmit="resetAll();">
<input type="submit" name="Submit" value="Reset All"/>
</form>
</div>
<!--back to default page-->
<div id="num" style="display:none">
<p>Number of Passengers per Carriage:</p>
<form method="post" action="javascript:void(0);" name="applesFormAgain" onSubmit="setPassengersAgain();">
<input type="text" name="numApples" id="numPassengers" />
<br/><br/>
<input type="submit" name="Submit" value="OK!"/>
</form>
</div>