如何使用javascript使文本显示在文本字段中?
我对JavaScript比较陌生,似乎不知道如何在HTML的文本字段中输出文本。我看过很多解决方案,虽然我非常接近(我想是的),但我仍然无法让它正常工作 我试图用“;”分隔一系列数字,并希望通过升序或降序在底部文本字段中显示结果。该操作通过按下按钮对其进行排序来完成 当试图调试它时,似乎变量被分配了它们应该分配的值,但是变量“output”不会显示在“sortednumbers”文本字段中。我的代码是不完整的,因为我只是尝试在添加降序之前测试升序 这是我的密码如何使用javascript使文本显示在文本字段中?,javascript,html,sorting,Javascript,Html,Sorting,我对JavaScript比较陌生,似乎不知道如何在HTML的文本字段中输出文本。我看过很多解决方案,虽然我非常接近(我想是的),但我仍然无法让它正常工作 我试图用“;”分隔一系列数字,并希望通过升序或降序在底部文本字段中显示结果。该操作通过按下按钮对其进行排序来完成 当试图调试它时,似乎变量被分配了它们应该分配的值,但是变量“output”不会显示在“sortednumbers”文本字段中。我的代码是不完整的,因为我只是尝试在添加降序之前测试升序 这是我的密码 <!DOCTYPE html
<!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
和changey
它不会改变obj.x
,唯一的方法就是直接做obj.x=newValue
。我明白了,这更有意义,现在再次感谢你的帮助!谢谢,成功了!我只是不明白为什么要写line output=arr;不会执行与您在if块中写入的行相同的操作。我只是将变量输出分配给它,只是为了让它看起来更干净一点。然而,由于它的工作方式与您为我键入的方式相同,我不妨完全删掉“output”并使用document.getElementById(“numOut”).value=arr@这是因为output
只包含元素的值,因此不直接相关。想象一下它改变了一个物体的属性。例如,我可以说我有obj.x
,如果是说var y=obj.x
和changey
它不会改变obj.x
,唯一的方法就是直接做obj.x=newValue
。我明白了,这更有意义,现在再次感谢你的帮助!