如何使用javascript使文本显示在文本字段中?

如何使用javascript使文本显示在文本字段中?,javascript,html,sorting,Javascript,Html,Sorting,我对JavaScript比较陌生,似乎不知道如何在HTML的文本字段中输出文本。我看过很多解决方案,虽然我非常接近(我想是的),但我仍然无法让它正常工作 我试图用“;”分隔一系列数字,并希望通过升序或降序在底部文本字段中显示结果。该操作通过按下按钮对其进行排序来完成 当试图调试它时,似乎变量被分配了它们应该分配的值,但是变量“output”不会显示在“sortednumbers”文本字段中。我的代码是不完整的,因为我只是尝试在添加降序之前测试升序 这是我的密码 <!DOCTYPE html

我对JavaScript比较陌生,似乎不知道如何在HTML的文本字段中输出文本。我看过很多解决方案,虽然我非常接近(我想是的),但我仍然无法让它正常工作

我试图用“;”分隔一系列数字,并希望通过升序或降序在底部文本字段中显示结果。该操作通过按下按钮对其进行排序来完成

当试图调试它时,似乎变量被分配了它们应该分配的值,但是变量“output”不会显示在“sortednumbers”文本字段中。我的代码是不完整的,因为我只是尝试在添加降序之前测试升序

这是我的密码

<!DOCTYPE html>
<html>
<head>
    <meta charset = "UTF-8">
    <title>Sorting Numbers</title>
</head>
<body>


        Enter Numbers Here: <input type = "text" id = "numInput"><br><br>
        Select Option:      <select id = "menu">
                                <option value = "ascending">Ascending</option>
                                <option value = "descending">Descending</option>
                            </select><br><br>
        Sorted Numbers: <input type = "text" id = "numOut"><br><br>
        <button onclick = "sortNums()">Sort Numbers</button>


    <script type = "text/javascript">
        function sortNums() {
            var choice = document.getElementById("menu");
            var numbers = document.getElementById("numInput").value;
            var output = document.getElementById("numOut").value;

            if(choice.value = "ascending") {
                arr  = numbers.split('; ').sort().join('; ');
                output = arr;
            }

        }
    </script>
</body>
</html>

排序编号
在此处输入数字:

选择选项: 提升 下降的

已排序的数字:

分类号 函数sortNums(){ var choice=document.getElementById(“菜单”); var number=document.getElementById(“numInput”).value; var输出=document.getElementById(“numOut”).value; if(choice.value=“升序”){ arr=numbers.split(“;”).sort().join(“;”); 输出=arr; } }
因为您以后从未将
输出分配给它:

if(choice.value = "ascending") {
    arr  = numbers.split('; ').sort().join('; ');
    output = arr;
    document.getElementById("numOut").value = output; 
}

因为您以后从未为其分配
输出

if(choice.value = "ascending") {
    arr  = numbers.split('; ').sort().join('; ');
    output = arr;
    document.getElementById("numOut").value = output; 
}

脚本不会神奇地知道,你想用这个值做什么,你必须告诉它……你的脚本运行良好,并且完全按照你告诉它的去做。它创建三个变量(选项、数字、输出),分配它们的值,并对它们进行排序,将新的顺序分配给一个变量(arr)。然后将arr的值分配给变量输出。如果你想让输出显示出来,你必须告诉它显示出来(见下面斯宾塞的答案)。谢谢大家!我想这只是我对这些方法如何运行的误解。脚本不知道如何神奇地处理这些值,你必须告诉它……你的脚本运行良好,并且完全按照你告诉它的去做。它创建三个变量(选项、数字、输出),分配它们的值,并对它们进行排序,将新的顺序分配给一个变量(arr)。然后将arr的值分配给变量输出。如果你想让输出显示出来,你必须告诉它显示出来(见下面斯宾塞的答案)。谢谢大家!我想这只是我对这些方法的工作原理的一个误解。谢谢,它起作用了!我只是不明白为什么要写line output=arr;不会执行与您在if块中写入的行相同的操作。我只是将变量输出分配给它,只是为了让它看起来更干净一点。然而,由于它的工作方式与您为我键入的方式相同,我不妨完全删掉“output”并使用document.getElementById(“numOut”).value=arr@这是因为
output
只包含元素的值,因此不直接相关。想象一下它改变了一个物体的属性。例如,我可以说我有
obj.x
,如果是说
var y=obj.x
和change
y
它不会改变
obj.x
,唯一的方法就是直接做
obj.x=newValue
。我明白了,这更有意义,现在再次感谢你的帮助!谢谢,成功了!我只是不明白为什么要写line output=arr;不会执行与您在if块中写入的行相同的操作。我只是将变量输出分配给它,只是为了让它看起来更干净一点。然而,由于它的工作方式与您为我键入的方式相同,我不妨完全删掉“output”并使用document.getElementById(“numOut”).value=arr@这是因为
output
只包含元素的值,因此不直接相关。想象一下它改变了一个物体的属性。例如,我可以说我有
obj.x
,如果是说
var y=obj.x
和change
y
它不会改变
obj.x
,唯一的方法就是直接做
obj.x=newValue
。我明白了,这更有意义,现在再次感谢你的帮助!