我如何制作一个文本框和按钮,这样它将触发一个javascript方法而不是post?

我如何制作一个文本框和按钮,这样它将触发一个javascript方法而不是post?,javascript,html,Javascript,Html,我如何在HTML中创建一个文本框和按钮,这样当我单击它时,它将触发一个带有值的javascript方法,并在文本框/按钮下方输出结果?如果您再次单击,它将继续在文本框/按钮下方添加新的输出行 假设我有以下功能: function double(number) { return number * 2; } 我想要一个文本框和按钮,如果我点击按钮三次,我会得到: 此处文本框(值为2)-此处按钮 4 4 四, 这是怎么做到的?我是否使用带有两个输入标记的表单?还是使用按钮标签?如何使其在文本

我如何在HTML中创建一个文本框和按钮,这样当我单击它时,它将触发一个带有值的javascript方法,并在文本框/按钮下方输出结果?如果您再次单击,它将继续在文本框/按钮下方添加新的输出行

假设我有以下功能:

function double(number)
{
    return number * 2;
}
我想要一个文本框和按钮,如果我点击按钮三次,我会得到:

此处文本框(值为2)-此处按钮
4
4
四,

这是怎么做到的?我是否使用带有两个输入标记的表单?还是使用按钮标签?如何使其在文本框/按钮下方保持输出


很抱歉,如果这个问题很难阅读,我的英语不是很好。

使用jQuery-您可以:

$('#form_id').submit(function(e){
  $('#output_element').append(double_func(parseInt($('#text').val(), 10))); // I changed the name of your function because 'double' is reserved...
  return false;  // This stops the form from submitting.
});

像这样的东西可以做到:

<script type="text/javascript">

function calculate() {
   var number = parseInt(document.getElementById('Number').value);
   document.getElementById('Result').innerHTML += double(number) + '<br/>';
}

function double(number) {
   return number * 2;
}

</script>

<input type="text" id="Number"/>
<input type="button" value="Calculate" onclick="calculate();"/>
<div id="Result"></div>

函数计算(){
var number=parseInt(document.getElementById('number').value);
document.getElementById('Result')。innerHTML+=double(number)+'
'; } 双功能(数字){ 返回号码*2; }

函数javaScriptFunction(){
documet.getElementById(“输出”).html+=“
”+document.getElementById(“文本框”).value*2; }

希望这会有所帮助

注意:
number.match(/^\d+$/)
确认值应为数字。

<html>
<head>
    <script type="text/javascript">
        function calulation() {
            var number = document.forms[0].number.value;
            if( number.match(/^\d+$/ ) )
                document.getElementById("output").innerHTML += double(number) + "<br/>";
            else
                alert("Only numeric allowed");
        }

        function double(number) {   return number * 2;}
    </script>
</head>
<body>
    <form onsubmit="calulation();return false;">
        <input id="number" type="text"/><input type="submit" value="calculate" />
    </form>
    <div id="output"></div>
</body>
</html>

函数计算(){
var number=document.forms[0].number.value;
if(number.match(/^\d+$/)
document.getElementById(“输出”).innerHTML+=double(number)+“
”; 其他的 警报(“仅允许数字”); } 函数double(number){返回数*2;}
+1用于提取保留字的用法。和-1回答:使用jQuery。这是一个简单的问题,不需要一个大的框架来解决。如果这是他的整个应用程序,那么您可能是正确的。我没有告诉他应该使用jQuery,我只是说他可以使用jQuery来提供解决方案。从他的帖子中可以清楚地看出,他可能无法处理浏览器的怪癖等。实际上,他听起来像是jQuery提供的那种抽象性和易用性的完美人选。
<html>
<head>
    <script type="text/javascript">
        function calulation() {
            var number = document.forms[0].number.value;
            if( number.match(/^\d+$/ ) )
                document.getElementById("output").innerHTML += double(number) + "<br/>";
            else
                alert("Only numeric allowed");
        }

        function double(number) {   return number * 2;}
    </script>
</head>
<body>
    <form onsubmit="calulation();return false;">
        <input id="number" type="text"/><input type="submit" value="calculate" />
    </form>
    <div id="output"></div>
</body>
</html>