我的页面上有一个 div 元素(“ main”),其内容在两个不同的屏幕之间来回变化(它们的 id 是“ readout”和“ num”),其内容存储为隐藏的 div 元素(使用display:none)。每个屏幕都有一个按钮,该按钮设置main为另一个隐藏的 div。
由于我努力让 javascript加载,我最终将几乎相同的内容(具有不同的表单名称)放入 main num.innerHTML:mainnum
<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>