マルチパート フォームを作成しましたが、フォームの表示可能なフィールドセットの入力済みフィールドを検証する必要があります。すべての必須フィールドが完了すると、次のステップ ボタンが有効になります。
これまでのところ、100% 効果的ではないいくつかのオプションを試してみました。
HTML:
<div id="set1">
<fieldset>
<div>
<label>field 1</label>
<input name="f1" type="text" /><br />
<span class="error"></span>
</div>
<div>
<label>field 2</label>
<input name="f2" type="text" /><br />
</div>
</fieldset>
</div>
<div id="set2">
<fieldset>
<div>
<label>field 3</label>
<input name="f3" type="text" /><br />
<span class="error"></span>
</div>
.
.
.
</fieldset>
</div>
jQuery:
$input = $('fieldset:visible div:has(span[class="error"]) input');
$next = $('fieldset:visible .button');
$input.keyup(function() {
$input.each(function() {
var trigger = false;
$input.each(function() {
if (!$(this).val()) {
trigger = true;
}
});
trigger ? $next.attr('class', 'disable') : $next.removeAttr('class');
});
});
誰かが私が間違っていることを理解するのを手伝ってくれますか? keyup イベントが発生していないようです。