
コード
<fieldset>
始点:<input type='text' id='idInpX0' autocomplete="off">
終点:<input type='text' id='idInpY0'autocomplete="off" >
<input type='hidden' id='idInpX1'value='0' >
<input type='hidden' id='idInpY1' value='0'>
<input type='button' onclick='DrawLine();'value='結線'>
</fieldset>
<fieldset>
始点:<input type='text' id='idInpX0' autocomplete="off">
終点:<input type='text' id='idInpY0'autocomplete="off" >
<input type='hidden' id='idInpX1'value='0' >
<input type='hidden' id='idInpY1' value='0'>
<input type='button' onclick='DrawLine();'value='結線'>
<//input type='button' onclick='EndLine();'value='結線終了'>
</fieldset>
</form>
<script>
oInpX0 = document.getElementById('idInpX0');
oInpY0 = document.getElementById('idInpY0');
oInpX1 = document.getElementById('idInpX1');
oInpY1 = document.getElementById('idInpY1');
a1oCoordinate = [oInpX0,oInpY0,oInpX1,oInpY1];
let point = ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18',];
function DrawLine(){
var X0,X1,X2,X3,Y0,Y1,Y2,Y3;
//var 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18;
let a1oCdn = a1oCoordinate;
let cdn = new Array()
let allow = true; // false; //
for(let i = 0; i<a1oCdn.length; i++, i<4){
let value = a1oCdn[i].value;
cdn[i] = null;
if( value ){
cdn[i] = Number(value);
}
console.log("i : "+i);
console.log("cdn[i] : "+cdn[i]);
if( ! Number.isFinite(cdn[i]) ){
allow = false; // true; //
}else{
// console.log("cdn[i] : "+cdn[i]);
}
}
このままだと重複できないのですがどうしたら良いでしょう。

No.1ベストアンサー
- 回答日時:
id 属性はページ内で同じ名前を使えません。
重複しても問題のない name 属性を使いましょう。
<input> 要素は id 属性ではなく name 属性で名付け
<form> 要素にも name 属性で名付け
document.forms[名前] で フォーム要素を取得
フォーム要素.elements[名前] で入力要素を取得
同じ名前の入力要素が複数あると配列として取得される
(参考)
<form name=f> <input name=x> <input name=x> </form>
<script>
var xs = document.forms["f"].elements["x"];
console.log(xs[0].value); // 1番目の x の値
console.log(xs[1].value); // 2番目の x の値
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン選択時、既に入力済...
-
SELECTの選択状態を、複数のVAL...
-
javascriptでhiddenに二次元配...
-
どのボタンがクリックされたの...
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
チェックボックスがundefinedと...
-
プルダウンで選択すると、DBの...
-
一覧から選択した行の行番号を...
-
sessionの値でボタンを活性・非...
-
プルダウン選択を変更すると、...
-
cookie使用時にundefinedと表示...
-
CSVファイルを読みこみ、プルダ...
-
【jsp/Java】チェックボックス...
-
1つのform内に2つのsubmitボタ...
-
onchangeイベントを強制的に発...
-
Selectボックスの幅を自動で広...
-
ボタン無しでフォーム内容送信
-
return trueとreturn falseの用...
-
確認ページからフォームページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
テキストボックスに入力された...
-
3つ以上の数値の中から、最も...
-
javascriptでhiddenに二次元配...
-
どのボタンがクリックされたの...
-
複数のsubmitボタンで押された...
-
これはAnd演算に変えてよいか?
-
VB.NET DateTimeの型について
-
HP内に検索エンジンを置きたい...
-
UART通信の取説で,left floati...
-
setIntervalの間隔を途中で変更...
-
jsで、配列内の文章を改行する...
-
ラジオボタンとテキストを同時...
-
[JavaScript+<select>]最初から...
-
プルダウンメニューリンクを新...
-
selectboxのoptionタグのvalue...
-
ラジオボタンを押して計算結果...
-
ループで連続したフォームの値...
-
[C#]連想配列の中に配列を入れたい
おすすめ情報
ご回答ありがとうございます。
別のところで画像のようにしたのですが、これだとFor文が反応せずにnullになってしまいます。
反応させてかつ解答欄をふやすにはどうすればいいでしょうか。
画像見えづらいかも知らないですがよろしくお願いします。
やっぱ見えないので付け足しておきます。
<fieldset id="set1">
始点:<input type="text" class="idInpX0" autocomplete="off">
終点:<input type="text" class="idInpY0" autocomplete="off" >
<input type="hidden" class="idInpX1"value="0" >
<input type="hidden" class="idInpY1" value="0">
<input type="button" onclick="DrawLine('set1');"value="結線">
</fieldset>
...
let qid = "#" + id;
var oInpX0 = document.querySelector(qid + " .idInpX0").value;
var oInpY0 = document.querySelector(qid + " .idInpY0").value;
var oInpX1 = document.querySelector(qid + " .idInpX1").value;
var oInpY1 = document.querySelector(qid + " .idInpY1").value;
a1oCoordinate = [oInpX0,oInpY0,oInpX1,oInpY1];
let a1oCdn = a1oCoordinate;
let cdn = new Array()
let allow = true; // false; //
for(let i = 0; i<a1oCdn.length; i++ ){
let value = a1oCdn.value;
cdn[i] = null;
if( value ){
cdn[i] = Number(value);
}
console.log("i : "+i);
console.log("cdn[i] : "+cdn[i]);
if( ! Number.isFinite(cdn[i]) ){
allow = false; // true; //
}else{
// console.log("cdn[i] : "+cdn[i]);
}
長くなりましたがお願いします。