我尝试输入一些值并在提交后将其放在下面,但每次浏览器只刷新自己并添加"?a =& b ="到原始网址。添加的内容将消失。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
function calculate(){
var aNode = document.getElementById('a');
var bNode = document.getElementById('b');
var a = parseFloat(aNode.value);
var b = parseFloat(bNode.value);
var result = a / Math.pow(b,2);
result = result.toFixed(2);
var commentText = document.createTextNode(result);
var node = document.getElementById("comments")
node.appendChild(commentText);
}
</script>
</head>
<body>
<form name = "form" action = "index.html" onSubmit = "calculate()">
num1 <input id="a" type="text" name="a"><br>
num2 <input id="b" type="text" name="b"><br>
<input type="submit" value="Calculate">
</form>
<p id="comments"></p>
</body>
</html>
答案 0 :(得分:1)
最简单的方法:
<form name = "form" action = "index.html" onSubmit = "calculate(); return false;">
N.B。 :在HTML中使用on * event *(onclick,onsubmit,onblur等)是不好的做法......
答案 1 :(得分:0)
删除表单并在点击按钮时调用Calculate()
会不会更简单吗?
<body>
num1 <input id="a" type="text" name="a"><br>
num2 <input id="b" type="text" name="b"><br>
<button type="button" onClick="Calculate()">Calculate</button>
<p id="comments"></p>
</body>
答案 2 :(得分:0)
表单的默认方法为获取。这会将您的浏览器重定向到操作中指定的网址,并将表单输入值添加到网址。如果你只想计算一些东西我推荐@Stu的回答。
如果您想要计算某些内容并在经过一些验证后提交表单或使用md5编码值或者您可以使用的任何内容:
<form name="form" method="post" action="targetFile.php" onSubmit="calculate()">
这会将您的值发布到操作中指定的网址,您可以使用phps $ _GET [&#34; inputname&#34;]获取targetFile.php上的值。如果由于输入无效而想要提交某些共鸣,则必须在calculate()中返回false。那将是这个过程的主要原因。
这可能是太多的信息,但我仍然很高兴知道:)