2017-01-16 109 views
-2

我有一个问题我想不通。Ajax的HTML表单不发送输入

我有一个网页(的index.php)打开一个表格,包括用PHP(indexsearch.php)另一页,并关闭对话框。 这包括网页正在与显示从我的网站一些DATAS脚本,数据要求与链接到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

您可以检查,您是如何读取脚本中复选框的值的。是名称/ Id与HTML视图源中的名称相同。如果这是在窗体中的形式,请检查是否要使用“fome1.form2.id”来定位元素? – Aarati

+0

@JaromandaX我添加了一个我的html样子的例子。 – Ezhno

回答

-1

我不知道,但我想它可以通过方括号中的复选框的name属性造成的。如果您有理由这样做,您必须正确使用它。例如,这里是HTML表单字段:

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

你要记住,POST是一组选项。这样做就像上面你要访问它以正确的方式在服务器端:

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

我不知道这是否解决您的问题,但我希望它有助于一点点

+0

Downvoter-你能告诉我我的答案有什么问题吗? –

+0

谢谢你的善意帮助塞巴斯蒂安,我确实知道[]引用了一个数组,并且我必须以正确的方式访问它:)问题出现在前面,而不是后面(我的复选框值不发送) – Ezhno