私は、ユーザーから番号を取るフォームを持っています。私はこれらの数字を並べ替えて、出力を表示したい。またソート後、配列に存在する数値を入力し、ソートされた配列内の要素の位置を表示したいと思います。Javascriptで数字を並べ替える方法と、ユーザーの入力を受けて要素の位置を見つける方法はありますか?
しかし、私はソートの段階でそれに悩まされています。ここで
は私がしようとしているコードです:
<html>
<body>
<form name="f">
<pre>
Enter number 1: <input type="text" name="first" id="first">
Enter number 2: <input type="text" name="second" id="second">
Enter number 3: <input type="text" name="third" id="third">
Enter number 4: <input type="text" name="fourth" id="fourth">
Enter number 5: <input type="text" name="fifth" id="fifth">
Enter number 6: <input type="text" name="sixth" id="sixth">
Enter number 7: <input type="text" name="seventh" id="seventh">
Enter number 8: <input type="text" name="eighth" id="eighth">
Enter number 9: <input type="text" name="ninth" id="ninth">
Enter number 10: <input type="text" name="tenth" id="tenth">
</pre>
<br>
<button onclick="sortfunction()">Click to sort</button>
<br><br>
Sorted numbers: <input type="text" name="sorted">
</form>
<script>
function sortfunction()
{
var num=new Array();
num[0]=document.getElementById("first");
num[1]=document.getElementById("second");
num[2]=document.getElementById("third");
num[3]=document.getElementById("fourth");
num[4]=document.getElementById("fifth");
num[5]=document.getElementById("sixth");
num[6]=document.getElementById("seventh");
num[7]=document.getElementById("eighth");
num[8]=document.getElementById("ninth");
num[9]=document.getElementById("tenth");
num.sort();
document.f.sorted.value=num;
}
</script>
を私はソートするためにクリックをクリックしていた場合、出力ボックスは、私が間違っているつもりです [object HTML InputElement],[object HTML InputElement],...
を示して?どんな種類の助けにも感謝します。ありがとう。
で働い例を参照してくださいです。これを試してください: 'num [0] = document.getElementById( 'first')。value'。すべての要素に対してこれを行います。 –
@JosanIracheta Right!それは見落とす私のばかげたことでした!しかし、それをした後、結果は1秒間表示され、離れて、そしてテキストボックスさえ空になっています。 –
これは、フォームを送信しているためです。フォームの送信を停止する必要があります。 –