2017-07-04 3 views
1

私は、ユーザからの色と量を受け入れる2つのテキストボックス10倍持っている(これは混乱を招くかもしれません):私はしたいものを今ループ - PHPでの単一テキストボックス名から複数回入力を許可する

<form action="" method="POST"> 
    <i> color </i><input type="text" name="text[]"> 
    <i> color amount </i> <input type="number" name="num[]"> 
    <input type="submit" value="Go"> 
</form> 

を色と量の10個のテキストボックスを宣言するのではなく、最初の色と量が送信された後、それぞれの名前に対して10個のテキストボックスを表示せずに9回質問するようにループするだけです。それをループする方法はありますか?

ありがとうございました。 Regars、 Russel

答えて

0

@russel これを試して、あらゆる種類のを避けるためにbutton.clickを使用します。これは純粋なPHPのです。

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <?php 
    session_start(); 

    if(!isset($_POST['submit'])) 
    { 

     $_SESSION['count']=0; 

    } 
    ?> 
    <form action="" method="POST"> 
    <i> color </i><input type="text" name="text"> 
    <i> color amount </i> <input type="number" name="num"> 
    <input type="submit" value="Go" name="submit"> 
</form> 

<?php 
    if(isset($_POST['submit'])) 
    { 
     echo $_POST['text']; 
     echo "<br>"; 
     echo $_POST['num']; 
     echo "<br>"; 
     $count=$_SESSION['count']++; 
     if($count==9) 
     { 
      echo "you have received 10 values"; 
      echo "<br>"; 
      echo "press ok to get again"; 
      ?> 
      <form method="post"> 
       <input type="submit" name="ok" value="ok"> 
      </form> 
      <?php 
      if(isset($_POST['ok'])) 
      {  
      header("Refresh:0"); 
      } 
     } 
    } 
    ?> 
</body> 
</html> 
+0

こんにちは@Anandhu、ありがとうございました。私はこれを試してみます。 –

0

私はAjaxを使用します。 JSにカウンタ変数を格納することができ、10に達したときにフォームを無効にするか、ユーザーにメッセージを表示するだけです。

jQuery.post()

Ajaxがオプションでない場合は、常にあなたのPHPファイル内のカウンタを持つことができます。私はセッションでそれを保存suggetだろう。その後、カウンタが10に達すると、フォームや何かをエコーし​​ません。

session_start(); 
$_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; 
if($_POST['submit']) { 
    $_SESSION['counter']++; 
} 

EDITED:基本的な考え方(まだテストしていない)私は、フォームのsubmision

<form id="myForm" method="post"> 
    <i> color </i><input type="text" name="text[]"> 
    <i> color amount </i><input type="number" name="num[]"> 
    <input id="button" value="OK" type="button"> 
</form> 

<script>  
    var formCounter = 0;  

    $("#button").click(function(e) { 
     var url = ""; // Whatever 
     alert("OK"); 
     $.ajax({ 
      type: "POST", 
      url: url, 
      data: '', // Your data here 
      success: function(data) { 
       // Do you need to show confirmation? 
       formCounter++; 
       if(formCounter > 9){ 
        // Disable/Hide form here 
       } 
      } 
     }); 
     e.preventDefault(); 
    }); 
</script> 
+0

** @ Joseさんはあなたの答えの男に非常に感謝します。感謝します。純粋なPHPで行う必要があるので、私はセッションコードを使用しようとします。ありがとうございます。** –

+0

素晴らしいです。それでも問題が発生した場合は、試してみてください。私は喜んでお手伝いします。これが良い答えだと思えば、それは他人を助けることができる。 –

関連する問題