「オズの@Theウィズ」
をいただき、ありがとうございます私もこの問題を抱えているが、これは私がそれを解決しています方法です。最初に、私はparsley.jsドキュメントの例(Multi-Step Form)からマルチステップフォームの例に従っています。
私がしなければならなかった変更は、すべてのステップを含む1つのフォーム要素を持つのではなく、そのセクションの入力を含む複数(各ステップごとに1つ)作成しなければなりませんでした。
各セクションでは、このように見えた:
<div class="form-section">
<label for="email">Email:</label>
<input class="form-control" name="email" required="" type="email">
</div>
は次のようになります。
少なくとも私の目的のためにも
<div class="form-section">
<form>
<label for="email">Email:</label>
<input class="form-control" name="email" required="" type="email">
</form>
</div>
、parsley.js検証グループは無関係になり、私が調整されています次のボタンに添付されたクリックイベントを以下から受け取ります。
$('.form-navigation .next').click(function() {
$('.demo-form').parsley().whenValidate({
group: 'block-' + curIndex()
}).done(function() {
navigateTo(curIndex() + 1);
});
});
ここから:
$('.form-navigation .next').click(function() {
$sections
.eq(curIndex())
.find('form')
.parsley()
.whenValidate()
.done(function() {
navigateTo(curIndex() + 1);
});
});
P.S. $sections
はすべてのdiv.form-section要素のjqueryオブジェクトの配列である例で宣言された変数です
これまでのすべての警告は、プログラムで収集するためにはより複雑なフォーム送信関数を記述する必要がありますすべてのフォームのデータをajax経由でREST-APIバックエンドに送信します。
とにかく私のアプローチですが、ブラウザのスレッドブロックの問題を大きく解決したようです。
ちょっと、あなたは何をスピードアップするためにやったのですか? –