【问题标题】:Ajax HTML FORM not sending inputAjax HTML FORM 不发送输入
【发布时间】:2017-05-31 02:19:12
【问题描述】:

我有一个我想不通的问题。

我有一个页面 (index.php) 打开一个表单,包含另一个 PHP 页面 (indexsearch.php) 并关闭表单。 这个包含的页面正在使用一个脚本,该脚本显示来自我的网站的一些数据,在页面上使用链接到 search.php 的 AJAX 函数请求数据,该函数正在使用表格和复选框,因此我们可以选择要哪些数据一起工作。 请参阅此架构:

一切正常,但复选框即使被选中也不会发送。我确实在 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>

我该如何解决这个问题?

【问题讨论】:

  • 也许是您的浏览器中出现的 HTML 示例(不是 PHP 版本)有助于您提出问题
  • 你能检查一下,你是如何读取脚本中复选框的值的。是名称/ID 与 HTML 的视图源中的名称/ID 相同。另外,如果这是带有表格的表格,请检查您是否要使用“fome1.form2.id”来定位元素?
  • @JaromandaX 我添加了一个我的 html 外观示例。
  • @Aarati 脚本实际上没有问题,请看我添加的 HTML 示例。我认为它来自脚本之外的语法
  • 您需要在问题本身中提供minimal reproducible example(强调最小)(指向第三方网站的链接不计入问题)

标签: javascript php html ajax forms


【解决方案1】:

我不确定,但我想这可能是由复选框的 name 属性中的方括号引起的。如果您有理由这样做,则必须正确使用它。例如,这里是 HTML 表单域:

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

您必须记住POST 是一个选项数组。所以像上面这样你必须在服务器端以正确的方式访问它:

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

我不知道这是否能解决您的问题,但我希望它对您有所帮助

【讨论】:

  • Downvoter-你能告诉我我的回答有什么问题吗?
  • 感谢 Sebastian 的热心帮助,我确实知道 [] 指的是一个数组,并且我必须以正确的方式访问它:) 问题出在前面,而不是后面(我的复选框值未发送)
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 2012-10-01
  • 2014-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
相关资源
最近更新 更多