こんにちは、私は誰かが私を助けることを望んでいます。私は5つの入力ボックスを持っており、これらのボックスから値を取得し、JavaScriptで配列に配置し、アルファベット順に並べ替えて、これは完全に機能します。問題は、何らかの理由で値が配列に格納されるときに値が倍になり、値が2度与えられるということです。どんな助けもありがとう。ありがとう。ここで Javascript配列の値が2回表示される
<form>
*Choice A
<input type="text" maxlength="100" name="cha" class="answer" rows="1" cols="10">
*Choice B
<input type="text" maxlength="100" name="chb" class="answer" rows="1" cols="10">
*Choice C
<input type="text" maxlength="100" name="chc" class="answer" rows="1" cols="10" >
*Choice D
<input type="text" maxlength="100" name="chd" class="answer" rows="1" cols="10" >
*Choice E
<input type="text" maxlength="100" name="che" class="answer" rows="1" cols="10" >
<input type = "button" id="myBtn" onclick="myFunction()" value ="Selection Sort in Ascending Order">
<br/>
<div id="showInputValues">
</div>
</form>
はJavascriptを次のとおりです。
<script language="javascript">
var getBtn = document.getElementById('myBtn');
getBtn.onclick = function() {
getTheData() ;
}
function getTheData() {
var answer = document.getElementsByClassName("answer");
var inputValues = new Array();
for (var i in answer) {
//extract the value of input elements
var singleVal = answer[i].value;
if (singleVal !== "" && singleVal !== undefined) {
inputValues.push(singleVal);
}
}
console.log(inputValues);
inputValues.sort();
//Display sorted values on form
console.log(inputValues);
alert(inputValues);
// set the sorted values :
for (var i=0;i<inputValues.length;i++) {
//extract the value of input elements
console.log(i);
console.log(inputValues[i]);
answer[i].value = inputValues[i];
}
}
</script>
コードを一貫した方法でフォーマットしてください。コードが正しくフォーマットされていないと、構文エラーを理解、デバッグ、および確認することがより困難になります。それがうまくいけば、人々はあなたの質問にもっと好意的に反応するでしょう。 [JSBeautifier](http://jsbeautifier.org/)のようなツールは、コードを正しくフォーマットするのに役立ちます。 –
予想される動作は、ユーザーが入力フィールドに5つの選択肢を入力し、ボタンをクリックすると、これらの値が配列に配置され、アルファベット順にソートされ、新しいソートされた値が入力フィールドに表示されることです。たとえばApple、Bananna、Orange、Pear、Zebraに入力した場合などです。ソート後の値は、Apple、Apple、Bananna、Bananna、Orange、Orange、Pear、Pear、Zebra、Zebraになります。 – user3260744
私のために誰かにコードを書くように求めていません。 Imは単に値が倍増している理由を誰かに説明することができます。失礼してくれてありがとう – user3260744