JavaScript内でfor
を使用して、フォーム検証にJavaScriptに関するヘルプが必要です。FOR LOOPを使用したJavascriptフォームのバリデーション
私はユーザー名とパスワード用の5つのフィールドを含むフォームを持っており、フォームを検証してデータベースに送信する前にJavaScriptを使用する必要があります。あなたが、私はこれが私の見解からのコードがあるhere in this JsFiddle
または
必要なコードと結果を見ることができます
は:
<form action="insertMember" method="post" name="fmember" onsubmit="return validateMember()">
<div class="form-group">
<label>Shop</label>
<select>
<option value="">Choose The Host</option>
<option value="1">Shop 1</option>
<option value="2">Shop 2</option>
</select>
</div>
<?php
$max = 5;
for($i=1; $i<=$max; $i++) { ?>
<span class="error<?php echo $i; ?>" class="label label-danger"></span>
<label>Username <?php echo $i; ?></label>
<input type="text" name="user[<?php echo $i; ?>]">
<label>Password <?php echo $i; ?></label>
<input type="password" name="pass[<?php pass $i; ?>]">
<span class="errorp<?php echo $i; ?>" class="label label-danger"></span>
<?php } ?>
</form>
これは私のJavascriptを(まだエラーからのコードです):
// How to validate input using FOR LOOP ?
// $max or max can be changes to 10 or more.
function validateMember() {
// I got an error from here.
var max = 3;
var member = [];
var password = [];
for(var i=1; i<=max; i++) {
var member = document.forms.fmember.user[i].value;
var password = document.forms.fmember.pass[i].value;
// Validate only username 1 must be filled or return error message
if(i == 1) {
if(member[i] == '') {
document.getElementByID('error'+i).innerHTML = 'Username Must be Filled !';
return !1;
}
else if (password[i] == '') {
document.getElementByID('errorp'+i).innerHTML = 'Password Must be Filled !';
return !1;
}
else {
return !0;
}
}
else {
// Validate if username 2 until MAX are filled must have min length = 2
if(member[i] != '') {
if(member[i].length < 2) {
document.getElementByID('error'+i).innerHTML = 'Username Must Have Minimum 2 Characters';
return !1;
}
else {
return !0;
}
}
}
}
}
ありがとうSam、それは今とてもうまくいっています! – Zinc
JavaScriptで変数maxを作成する代わりに、こんにちはsam。とにかく 'input.length'のような' user.length'を取得するにはどうしますか?だから、時々PHPファイルの '$ max'入力が管理者によって変更されると、JSファイルで' var max = 5'を変更する必要はありません。 – Zinc
この値がPHPから来る場合は、JS変数にその値を持つ '
コードが何をしようとしているかわかりませんmax変数を使用してください。
単に古いJSをこれに置き換えてください。
出典
2017-11-09 11:12:08
申し訳ありませんが、それは働いていない、私はコードを配置しながら、間違っているのですか? – Zinc
何が動作していないか、エラーがある場合は何かを記述してください。 –