2017-01-16 10 views
-2

私にはわからない問題があります。Ajax HTML FORMが入力を送信しない

フォームを開くページ(index.php)があり、PHP(indexsearch.php)付きの別のページがあり、フォームを閉じます。 このインクルードされたページは、私のウェブサイトからいくつかのデータを表示するスクリプトで動作しています。データは、search.phpにリンクされたAJAX関数でページにリクエストされています。一緒に働く このスキーマを参照してください:

enter image description here

すべてが正常に動作しているが、彼らがチェックされている場合でも、チェックボックスが送信されていません。私はsearch.phpの名前と値を追加しました

<td> <input type="checkbox" name="ajout[]" value="<?php echo $result['id']; ?>"/> </td> 

私はまた別のフォームを開けませんでした。 私はAJAXデータが自分のページに含まれていない独立したフォームとして機能するという事実から問題が発生していると思います。

HTMLコードを参照してください。

<body> 
<div class="division"> 
        <table id="text-p"> 
         <tr> 
          <td> 
         <form action="" method="get" enctype="multipart/form-data"> 
          <textarea id="text-p1" name="text-p1" maxlength="300" placeholder="Text1"></textarea> 
          </td> 
          <td> 
          <textarea id="text-p2" name="text-p2" maxlength="300" placeholder="Text2"></textarea> 
          </td> 
         </tr> 

         <tr> 
          <td> 
          <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> 
          Logo : <input name="logo-p1" type="file" accept="image/*"> 
          </td> 
          <td> 
          <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> 
          Logo : <input name="logo-p2" type="file" accept="image/*"> 
          </td> 
         </tr> 

       </table> 
       </div> 


       <div class="division"> 

     <div width="100%" style="height: 50px;"> 
      <input type="text" name="recherche" id="recherche" style="width: 75%; float:left; display: inline-block;" placeholder="Rechercher..."> 
      <div style="float:right;"> 
        <input type="radio" name="onglet" value="val1" id="act" checked="">Activité 
        <input type="radio" name="onglet" value="val2" id="sect">Secteur 
        <input type="radio" name="onglet" value="val3" id="ecr">Ecrans 
      </div> 
     </div> 
     <div width="100%" id="resultats"> 


        <input id="ok" type="button" class="pageselector" name="pageselector" value="1" checked=""><table id="resultat1" width="100%" style="text-align: center;" class="resultatshow"> 
       <tbody><tr> 
         <td>Cat</td> 
              <td>Text-1</td> 
         <td>Text-2</td> 
         <td>Sélec</td> 

       </tr> 
         <tr> 

         <td>Cat1</td> 
               <td>NULL</td> 
         <td>NULL</td> 
         <td> <input type="checkbox" name="ajout[]" value="1"> </td> 
      </tr> 

        <tr> 

         <td>CAT2</td> 
               <td>EMPTY</td> 
         <td>EMPTY</td> 
         <td> <input type="checkbox" name="ajout[]" value="2"> </td> 
      </tr> 

</table></div>      
        <input type="submit" value="UPDATE"> 

       </div> 


      </body> 

私はそれを解決することができますか?

+0

例のに役立ちます願っています:だからあなたは、サーバー側で正しい方法でそれにアクセスする必要が上記のようにすることあなたのブラウザに表示されるHTML(PHP版ではない)があなたの質問に役立つでしょう –

+0

あなたのスクリプトのチェックボックスの値をどうやって調べることができますか? HTMLのビューソース内の名前/ IDと同じです。また、これがフォームのフォームであれば、 "fome1.form2.id"を使用して要素を探したいかどうかを確認してください。 – Aarati

+0

@JaromandaX私は自分のhtmlのようなものの例を追加しました。 – Ezhno

答えて

-1

私は確信していますが、それはあなたのチェックボックスのname属性の角括弧によって引き起こされると思います。あなたがそれをする理由があれば、あなたはそれを適切に操作しなければなりません。

<input type='checkbox' name='checkbox[myOption]'> 

あなたはPOSTは、オプションの配列であることを覚えている:例えば、ここではHTMLフォームフィールドです。

$_POST['checkbox']['myOption']; 

それはあなたの問題を解決するかどうか、私は知りませんが、私はそれはおそらく少し

+0

Downvoter-私の答えに間違っていることを教えていただけますか? –

+0

あなたの親切に助けてくれてありがとうセバスチャン、私は確かに[]が配列を参照し、正しい方法でアクセスしなければならないことを知っています:)問題は前面にあり、裏にはありません(私のチェックボックスの値は送られません) – Ezhno

関連する問題