如何将变量从JavaScript函数发送到文本框?

如何将变量从JavaScript函数发送到文本框?,javascript,function,variables,object,Javascript,Function,Variables,Object,可能重复: 好的,我试着把函数的结果返回到输入框(这是计算器的一部分)。例如:我在计算器中输入1,然后它执行1+2+3+4+5+6+7+8+9+10,并通过下面的功能将55输出到警报消息框中。我正在尝试将结果显示回框中,而不是警报框 以下是我提供的代码: “L”功能、“输入”框和控制该功能的按钮onClick 我已经做了大约一个星期了,想弄明白这一点。如果你需要更多的计算器代码,我可以提供 function Loop(input) { var num = parseInt(input

可能重复:

好的,我试着把函数的结果返回到输入框(这是计算器的一部分)。例如:我在计算器中输入1,然后它执行1+2+3+4+5+6+7+8+9+10,并通过下面的功能将55输出到警报消息框中。我正在尝试将结果显示回框中,而不是警报框

以下是我提供的代码: “L”功能、“输入”框和控制该功能的按钮onClick

我已经做了大约一个星期了,想弄明白这一点。如果你需要更多的计算器代码,我可以提供

function Loop(input)
{
     var num = parseInt(input) + 10;
     var i=0;
     var sum=0;

    while(i < num)
        {
            sum=sum+i;
            i++;
        }
    alert(sum);

}
功能循环(输入)
{
var num=parseInt(输入)+10;
var i=0;
var总和=0;
while(i


下面是代码的其余部分,因为我在下面得到的两个答案不起作用(感谢您尝试hep!)


任务2
计算器

文件。书写(“Mallery,Cody”);





我假设您输入的文本字段是用type=“text”正确编写的

您可以为元素分配一个id,然后使用javascript设置其值。 使用
document.getElementbyId(“”)获取对象

然后设置值
document.getElementbyId(“”)。值=

试试看

document.forms[0].display.value=sum;

把它放在JS函数中,而不是警报中

document.getElementById("input").value=sum;

你只需要做3个改变。然后,您可以在任何文本输入上使用相同的函数,就像现在一样

首先要将元素本身传递给函数

function Loop(input)
{
变成

function Loop(inputElement)
{
  var input = inputElement.value;
接下来,将警报输出语句更改为:

inputElement.value = sum;
最后,更改html(删除“.value”)


您没有正确地重新修改输入值。 您可以这样做:

<input name="display" id="input1" size="25">
<form>
    <input type="button" value="   L    " name="L" onClick="Loop()">
<form>
<script type="text/javascript">

function Loop()
{
    var input = document.getElementById("input1").value;
    var num = parseInt(input) + 10;
    var sum=0;

    for(var i=0; i<num; i++)
    {
        sum = sum+i;
    }

    document.getElementById("input1").value = sum;
}

</script>

函数循环()
{
var input=document.getElementById(“input1”).value;
var num=parseInt(输入)+10;
var总和=0;

对于(var i=0;我能让你做JSFIDLE并告诉我什么不起作用?
getElementbyId
应该是
getElementbyId
。看看控制台有没有错误消息!不要盲目复制和粘贴代码,调查!天哪,我在帖子中发布了错误的代码。我应该纠正那个错误!对不起。我编辑了OP,因为我认为为了帮助我,你们需要更多关于我实际要做什么的信息。
getElementbyId
应该是
getElementbyId
。是的。你说得对。实际上我是直接在这里写的。但是它是大写的
B
而不是小写的
B
。这不起作用。不过,谢谢!我也用了大写的B。耶s和我已经更新了我的代码。感谢大家,它也可以正常工作。我正在尝试将输出返回到“input”元素,而不是警报消息中。不过,感谢帮助!:)这不起作用。不过,谢谢。这也不起作用,谢谢。在您的代码中,您使用的是“form”而不是“forms”。请在重试之前删除getElementByID,它包含一个错误,将在该点停止脚本。我修复了它,它可以工作;感谢您的帮助!
inputElement.value = sum;
onClick="Loop(this.form.display)"
<input name="display" id="input1" size="25">
<form>
    <input type="button" value="   L    " name="L" onClick="Loop()">
<form>
<script type="text/javascript">

function Loop()
{
    var input = document.getElementById("input1").value;
    var num = parseInt(input) + 10;
    var sum=0;

    for(var i=0; i<num; i++)
    {
        sum = sum+i;
    }

    document.getElementById("input1").value = sum;
}

</script>
<input type="button" value="   L    " name="L" onClick="Loop(this.form.display.value)">
function Loop(input)
{
     var num = parseInt(input) + 10;
     var i=0;
     var sum=0;

    while(i < num)
        {
            sum=sum+i;
            i++;
        }
    // NOTE: it's not a good idea to give an item `input` ID;
    document.getElementById("input").value=sum; // instead of document.getElementbyId("input").value=sum; 
    // what's this for?
    // document.form[0].display.value=sum; 
}​