web-dev-qa-db-ja.com

マルチページWebフォームの特定のページにジャンプする方法

私は複数ページ Webform を使用しており、ユーザーが最終的にフォームを送信する前に最後に要約を表示するために Webform Bonus Pack を使用しています。

私がやりたいのは、フォームデータのさまざまなセクションの横に「編集」リンクを提供して、ユーザーがそれらのフィールドを含むページにジャンプできるようにすることです。

私がこれを行う方法を知っている人はいますか、それとも失敗した人は、少なくとも私に骨を投げて、複数ページのフォームで「次へ/前へ」ボタンが押された後にWebformがどのページを表示するかを決定する方法を教えてもらえますか?

私はかわいいと思い、Javascriptを使用して、非表示の「details [page_num]」フィールドの値をターゲットページよりも1だけ大きい値に変更し、[前へ]ボタンでclick()を呼び出しますが、役立たず;それでも前の(2番目から最後の)ページに戻ります。 $_POST['details']['page_num']には現在のページ番号が含まれていますが、[次へ]ボタンと[前へ]ボタンがどこに表示されるかを決定するために使用されていないようです。

4
Eric N

マルチページWebフォームのナビゲーションバーを提供する webform_steps モジュールを公開しました。それはあなたがそれを説明する方法に非常に似ている次と前のボタンをシミュレートする送信ハンドラを実装することによって問題を解決します。

魔法は、$form_state配列のPHP=側で発生する必要があります。

2
zwirbeltier