2017-01-16 1 views
-2

Ich habe ein Problem, das ich nicht herausfinden kann.Ajax HTML FORM keine Eingabe senden

Ich habe eine Seite (index.php), die ein Formular öffnen, enthält eine andere Seite mit PHP (indexsearch.php) und schließen Sie das Formular. Diese enthaltene Seite arbeitet mit einem Skript, das einige Daten von meiner Website anzeigt, die Daten werden auf der Seite mit einer AJAX-Funktion angefordert, die mit search.php verknüpft ist, die mit einer Tabelle und Checkboxen arbeitet, so dass wir auswählen können, welche Daten arbeiten mit. Sehen Sie dieses Schema:

enter image description here

Alles funktioniert gut, aber die Kontrollkästchen sind noch nicht senden, wenn sie aktiviert sind. Ich habe den Namen und den Wert in search.php

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

hinzugefügt Ich habe auch kein anderes Formular geöffnet. Also ich vermute, dass das Problem von der Tatsache kommen kann, dass die AJAX-Daten als ein unabhängiges Formular arbeiten, das nicht in meiner Seite enthalten ist.

Bitte beachten Sie den HTML-Code:

<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> 

Wie kann ich das Problem lösen?

+0

vielleicht ein Beispiel der HTML-Code, wie er in Ihrem Browser erscheint (nicht die PHP-Version) würde Ihnen helfen, Ihre Frage zu stellen –

+0

Können Sie überprüfen, wie Sie die Werte der Checkbox in Ihrem Skript lesen. ist der Name/ID ist die gleiche wie die in Sicht Quelle von HTML. Auch wenn dies Formular mit in Form ist, überprüfen Sie bitte, ob Sie "fome1.form2.id" verwenden möchten, um das Element zu finden? – Aarati

+0

@JaromandaX Ich habe ein Beispiel für meinen HTML-Code hinzugefügt. – Ezhno

Antwort

-1

Ich bin mir nicht sicher, aber ich denke, es kann durch eckige Klammern im name Attribut Ihrer Checkboxen verursacht werden. Wenn Sie Grund haben, es zu tun, müssen Sie damit richtig arbeiten. Zum Beispiel, hier ist das HTML-Formularfeld:

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

Sie müssen bedenken, dass POST eine Reihe von Optionen ist. So tut wie oben Sie es in der richtigen Art und Weise auf der Server-Seite zugreifen müssen:

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

Ich weiß nicht, ob das Ihr Problem löst, aber ich hoffe, es hilft ein wenig

+0

Downvoter - könntest du mir bitte sagen, was mit meiner Antwort los ist? –

+0

Vielen Dank für Ihre freundliche Hilfe Sebastian, ich weiß zwar, dass sich das [] auf ein Array bezieht, und dass ich auf die richtige Weise darauf zugreifen muss :) Das Problem liegt vorne, nicht hinten (Meine Checkbox-Werte werden nicht gesendet) – Ezhno