PHPを使用して動的に生成されるいくつかのフォームを持つページがあります。 jQuery Validationプラグインを使用して検証しています。フォームはすべて同じですが、異なるアイテムに関連していますので、すべてのフォームに同じクラスを与えて、1つの関数(各フォームには固有のIDがあります)で検証できるようにしました。しかし、私はいくつかの問題を抱えている:動的に生成されたフォームを使用したjQueryフォームの検証
- 私は正しいフォーム項目で表示されるようにエラーメッセージが好きだろうが、私はちょうどフォームのクラスを使用している場合、バリデータは項目がある形成している知ることができませんから。
- フォームを送信するためのハイパーリンク(
<noscript>
タグ内の普通のsubmit
ボタン)があります。通常はフォームを送信するためにjQueryを使用しますが、jQueryはクリックした送信リンク提出する?
私が考えることができる最も簡単なことは、フォームIDをいくつかの検証方法に渡すことです。それは可能ですか?
フォーム
は次のようになります。<?php while($row= pg_fetch_row($groups)) { ?>
<p class="error" id="error-<?php echo $row[0] ?>"></p>
<form action="../scripts/php/groups-process.php" method="post" id="editgroup-<?php echo $row[0] ?>" class="editgroup">
<label for ="edit-<?php echo $row[0] ?>" >Edit group name:</label>
<input type="text" class="text" size="20" maxlength="30" name="edit" id="edit-<?php echo $row[0] ?>" value="<?php echo $row[1] ?>" />
<noscript><input type="submit" name="editgroup" value="Submit" /></noscript>
<div id="submitcontainer-<?php echo $row[0] ?>"></div>
</form>
<?php } ?>
私は、通常、このような形式の検証になります、これを試してみてくださいよりも、すべてのフォームに同じクラスを与える
$(document).ready(function(){
$("#editgroup").validate({
rules: {edit: {required: true, maxlength: 30}},
messages: {edit: {required: 'Please enter a group name', maxlength: 'Please enter a shorter group name'},
errorContainer: "p#error",
});
$("#submitcontainer").html('<a class="button" href="javascript:void();" id="submitlink" name="submit">Submit</a>');
$("#submitlink").click(function() {
$("#editgroup").submit();
});
});
既に試したHTMLとJSのコードを貼り付けてください。 – LeeR
質問にいくつかのコードを追加しました。私は実際にJSを試したことはありません、私は別の形の私のコードを適応させ始めました、そして、私は立ち往生しました。私はインターネットで見てきましたが、私は解決策を見つけませんでした。 – Pikaling