HTML输入和提交

时间:2014-09-09 08:55:57

标签: javascript html

我尝试输入一些值并在提交后将其放在下面,但每次浏览器只刷新自己并添加"?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>

3 个答案:

答案 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。那将是这个过程的主要原因。

这可能是太多的信息,但我仍然很高兴知道:)