私のページには非常によく似た2つのフォームがあります。
jqueryで簡単な検証を行って、ajaxを使用してデータを使用するphpハンドラーにデータを送信する前に、各フィールドに値があることを確認しています。
フォームの類似性のため、どのフォームが送信されたかを知ることができないため、フォーム コンテナー div の id で区別してみようと思いました
<div name="contactform2" class="form">
<div width="100%" class="con2">
<div class="lable">
<label for="first_name">First Name *</label>
</div>
<input type="text" name="first_name" class="span4">
<div class="lable">
<label for="email">Email Address *</label>
</div>
<input type="text" name="email" class="span4">
<div class="lable">
<label for="telephone">Contact Number *</label>
</div>
<input type="text" name="telephone" class="span4">
<div class="lable">
<label for="comments">Message *</label>
</div>
<textarea name="comments" rows="8" class="span4"></textarea>
<input type="submit" value="Submit" class="btn btn-success">
</div>
</div>
実際、フォーム間の唯一の違いは、一方には が<select>
含まれていて、もう一方には含まれていないことです。
私のjqueryは次のようになります:
$('input[type=submit]').click(function() {
var parentname = this.parent('div').attr('name');
console.log('Form used: ' + parentname);
var fname = 0,
email = 0,
tel = 0;
comm = 0;
// Validate data
});
通常は id/class/tagname で選択するので、ここでセレクターを間違えたのではないかと思うので、それが有効かどうかさえわかりません。
誰かが代替案を提案できますか?