formでid="required1"~"required13"までのtype="text"を作りvalueを取り出したかったのですが、
3回実行した後に.lengthが増えていってしまいオブジェクトが存在しないためエラーで終了します。
function prechk(){
var required=new Array(3);
for(i=1;i<=required.length;i++){
required[i]=document.getElementById("required"+i).value;
alert(required[i]);
}
}
私の考えではnew Array(3)なのでfor文の.lengthは3になりループを抜けるかと考えたのですができませんでした。
お力添えをいただければ幸いです。
javascript の配列は、ゼロ始まりです。
しかも、サイズを超えた添え字のところに書きこむと、自動で拡張します。
なので、期待通りに動かすとしたら、こうなります。
function prechk(){ var required=new Array(3); for(i = 0 ; i < required.length ; i++) { // ★1 required[i]=document.getElementById("required"+(i+1)).value; // ★2 alert(required[i]); } }
★1 : ループは、0から required.length - 1 まで。
★2 : i が0から始まるので、id を決めるときに+1する。