计算器表单备选方案
Calculator form alternative
我有下面的当前代码,它正在工作。问题是这个代码将在一个表单中,我不能有嵌套的表单。如何更改代码,使其与div
父元素而不是form
一起工作?
<form>
<script type="text/javascript">
function inmet(form){
form.in2met.value = ((form.inch.value -0) * 25.4).toFixed(2)
}
</script>
<div id="calcbody">
<div class="calctitle">Convert <br />Inches to Millimetres</div>
<div class="singcalcquestion">Enter the Inches:
<input class="box1" type="text" name="inch" />
</div>
<div class="singsubmit">
<input onclick="inmet(this.form)" type="button" value="GO" />
</div>
<div class="singcalcanswer">Equals in Millimetres:<br />
<input class="calcbox2" type="text" readonly="readonly" name="in2met" />
</div>
</div>
</form>
一种选择是使用Element.getElementsByClassName()
或类似方法来获得您想要的输入字段:
<div id="form-root">
<script type="text/javascript">
function inmet(calcRoot){
calcRoot.getElementsByClassName('calcbox2')[0].value = ((form.inch.value -0) * 25.4).toFixed(2);
}
// example: inmet(document.getElementById('form-root'))
</script>
<div id="calcbody">
<div class="calctitle">Convert <br />Inches to Millimetres</div>
<div class="singcalcquestion">Enter the Inches: <input class="box1" type="text" name="inch" /></div>
<div class="singsubmit"><input onclick="inmet(document.getElementById('form-root'))" type="button" value="GO" /></div>
<div class="singcalcanswer">Equals in Millimetres:<br /><input class="calcbox2" type="text" readonly="readonly" name="in2met" /></div>
</div>
</div>
不是最干净的解决方案,但它应该完成任务:
<div>
<script>
function inmet() {
document.getElementById('in2met').value = ((document.getElementById('inch').value - 0) * 25.4).toFixed(2)
}
</script>
<div id="calcbody">
<div class="calctitle">Convert <br/>Inches to Millimetres</div>
<div class="singcalcquestion">
<label for="inch">Enter the Inches:</label>
<input class="box1" type="text" name="inch" id="inch"/>
</div>
<div class="singsubmit">
<input onclick="inmet()" type="button" value="GO"/>
</div>
<div class="singcalcanswer">
<label for="in2met">Equals in Millimetres:</label>
<input class="calcbox2" type="text" readonly="readonly" name="in2met" id="in2met"/>
</div>
</div>
</div>
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- 提交表单后的最佳解决方案
- AngularJS中的动态表单验证 - 是否有更好的解决方案/方法
- 使用html表单作为python脚本输入的简单解决方案
- 计算器表单备选方案
- 禁用 JavaScript 时链接和表单的解决方案是什么?
- I'm正在为客户端上的常见HTML联系人表单寻找替代解决方案's侧
- 灵活而强大的表单验证解决方案
- 表单外提交按钮的跨浏览器解决方案
- AJAX的替代方案async: false选项用于表单提交按钮单击事件处理程序
- JQuery/AJAX表单验证与嵌套测试…优雅的解决方案
- 在Asp上对ajax动态加载的视图启用表单验证的解决方案.净Mvc3
- 联系表单与文件上传解决方案
- 嵌套表单解决方案
- 表单击单元格配色方案
- MooTools表单验证器的替代方案
- 动态表单和captcha的替代方案,以避免表单垃圾邮件
- 当使用[Enter]键并且存在多个表单时,提交预期HTML表单的通用解决方案
- 输入表单旁边的搜索按钮的响应式解决方案