【发布时间】:2012-07-18 22:41:44
【问题描述】:
我的 html 代码获取两个用户选择的输入数字并进行计算。在用户选择输入后,它无法实际进行计算。当我输入这两个数字并按下计算时,它什么也没做。
function calc(form)
{
if(isNaN(form.resistance.value))
{
alert("Error in input");
return false;
}
if(form.resistance.value.length > 32)
{
alert("Error in input");
return false;
}
function calc(form1)
{
if(isNaN(form1.strain.value))
{
alert("Error in input");
return false;
}
if(form1.strain.value.length > 32)
{
alert("Error in input");
return false;
}
var Rchange = 2 * form1.strain.value * form.resistance.value;
var newResistance =(parseInt(form.resistance.value) + Rchange);
document.getElementById("newResistance").innerHTML = chopTo4(newResistance);
}
function chopTo4(raw)
{
strRaw = raw.toString();
if(strRaw.length - strRaw.indexOf("0") > 4)
strRaw = strRaw.substring(0,strRaw.indexOf("0") + 5);
return strRaw;
}
</script>
</head>
<body>
<table>
<tr><form1><td>Enter Strain: </td><td><input style="text-align:right" type="text" name="strain"></td></tr>
</table>
<table>
<tr><form><td>Enter Resistance: </td><td><input style="text-align:right" type="text" name="resistance"></td></tr>
<tr><td colspan=2 align="center"><input type="button" value="Calculate" onClick="calc(this.form)"></td></form></tr>
<tr><td>New Resistance: </td><td id="newResistance"></td></tr>
</table>
【问题讨论】:
-
注意:你不能把
<form>放在<tr>和<td>元素之间 -
并且有 2 个结束表格标签,而只有一个开始表格标签
-
还有一件事,我试图编辑你的代码以改进格式,我注意到有很多缺少花括号,如果这是你的实际代码而不是复制的结果-粘贴然后只是修复您的语法错误,如果仍然无法正常工作,请尝试您的程序返回没有语法错误的代码
-
没错,首先验证你的js和html代码。看在上帝的份上,如果您编写如此混乱的代码,请使用 JsLint! :P
-
对不起,我正在使用 Notepad++ 编写我的代码,所以我没有看到错误我只是将我的代码直接运行到 Web 浏览器。我整理了一下代码。
标签: javascript html forms