2017-10-20 8 views
0

私はフォームに基づいてアンケートを行いたいので、私は以下のような最初のフォームで新しい(次の)フォームを投稿しようとします。提出後に次のフォームに行く方法は同じページにあります

<form id="pass" action="form.html" method="get"> 
---some code for users to select answers-- 
<button type="submit" form="nextpass" value="next"> 
</form> 
<form id="nextpass" action="form.html" method="get"> 

どちらのフォームも同じページに表示されますが、次のボタンを押すと「can not get /」というエラーが表示されます。

+0

あなたが何を求めているのか不明です。あなたは実際にフォームを提出したいのではなく、ページの特定のセクションにジャンプするか、特定のフォームフィールドに焦点を合わせるだけですか?次に、ボタンではなくアンカーリンクを使用します。 – CBroe

+0

私はもちろん、それは調査の目的です:)提出物は完成した書式の最後に置かれますが、私が求めているのは複数の書式です。フォームをクリックして別のフォームの横にクリックしてください(これは同じページ/同じ調査対象です)。しかし、その場合はアンカーリンクを使用できますが、htmlの各フォームのページを分割することが可能かどうかはわかりませんそれはやるだろうが、私にとっては不愉快だ)。 – johnydogz

+0

フォームまたは親コンテナ要素に 'min-height:100vh'を指定すると、それぞれが少なくとも1つの画面の高さをカバーするようになります。これは安価で簡単な方法で、次の"ページ"。それ以上のことが必要な場合は、JavaScriptの「タブ付きインターフェイス」ソリューションを探すことをお勧めします。 – CBroe

答えて

0

最も簡単な方法は、各送信ボタンに一意の名前を付けることです。それが提出されたかどうかを確認し、それに応じて処理します。

<form id="form_1" action="" method="post"> 
<input type="submit" name="submit_1" value="Submit" /> 
</form> 

<form id="form_2" action="" method="post"> 
<input type="submit" name="submit_2" value="Submit" /> 
</form> 


<?php 

if($_POST['submit_1']) { 

// Do stuff 

//hide form 1 
echo "<style>#form_1{display:none}</style>"; 
     } 
     else if($_POST['submit_2']) { 

      // Do stuff 

     } 

     ?> 
+0

phpやjavascriptを使用していますが、これはできますが、htmlのみを使って行うことができるかどうかを知りたいのですが(html5の機能があるかもしれません)? – johnydogz

+0

あなたはサーバー側の言語を必要とするフォームを提出するために、あなたはajaxを必要とするだけでHTMLで行うことはできません – M0ns1f