Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用复选框包装一些输入并发送到数据库_Javascript_Php_Html_Mysql - Fatal编程技术网

Javascript 用复选框包装一些输入并发送到数据库

Javascript 用复选框包装一些输入并发送到数据库,javascript,php,html,mysql,Javascript,Php,Html,Mysql,问题是“如何选择与选中复选框位于同一行中的所有输入元素?” (此处“[]”是一个复选框) 选中某些列表时,则选中其行上的所有(输入) 然后,如何提交复选框,例如,如果有两个复选框被选中,那么这两个复选框中的所有输入都将发送到数据库中的一个表中 请告诉我怎么做。提前感谢你的帮助 对于这个HTML来说,这并不难: <table> <thead> <tr> <th>Mark</th>

问题是“如何选择与选中复选框位于同一行中的所有输入元素?”

(此处“[]”是一个复选框)

选中某些列表时,则选中其行上的所有(输入)

然后,如何提交复选框,例如,如果有两个复选框被选中,那么这两个复选框中的所有输入都将发送到数据库中的一个表中


请告诉我怎么做。提前感谢你的帮助

对于这个HTML来说,这并不难:

<table>
    <thead>
        <tr>
            <th>Mark</th>
            <th>Name</th>
            <th>Qty</th>
            <th>Price</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><input type="checkbox" name="id[1]" /></td>
            <td><input type="text" name="name[1]" /></td>
            <td><input type="text" name="quantity[1]" size="3" /></td>
            <td><input type="text" name="price[1]" size="3" /></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="id[2]" /></td>
            <td><input type="text" name="name[2]" /></td>
            <td><input type="text" name="quantity[2]" size="3" /></td>
            <td><input type="text" name="price[2]" size="3" /></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="id[3]" /></td>
            <td><input type="text" name="name[3]" /></td>
            <td><input type="text" name="quantity[3]" size="3" /></td>
            <td><input type="text" name="price[3]" size="3" /></td>
        </tr>
        <tr>
            <td colspan="4"><input id="save" type="button" value="Submit" /></td>
        </tr>
    </tbody>
</table>
<h3>Post data:</h3>
<div class="submit_data">click Submit...</div>

在PHP中,发布的变量是数组,如下所示:

[id] => Array
    (
        [1] => on
        [3] => on
    )

[name] => Array
    (
        [1] => My name 1
        [3] => My name 3
    )

[quantity] => Array
    (
        [1] => 100
        [3] => 50
    )

[price] => Array
    (
        [1] => 23.34
        [3] => 15.23
    )
您可以通过以下方式浏览它们:

foreach( $_POST['id'] as $id=>$on ) {
    echo 'ID: ' . $id . '<br />';
    echo 'Name: ' . $_POST['name'][$id] . '<br />';
    echo 'Qty: ' . $_POST['quantity'][$id] . '<br />';
    echo 'Price: ' . $_POST['price'][$id] . '<br />';
    echo '<hr />';
};
请注意:在某些设备上,通常需要关闭jQuery缓存:

$.ajaxSetup({ cache: false });
或特定职位:

$.ajaxSetup({
   type: 'POST',
   headers: { "cache-control": "no-cache" }
});

你在哪里被自己的尝试卡住了?您是否能够或愿意使用JavaScript库?(不需要使用库,我只是想如果没有在项目中使用,我会先回答“很简单,这里是jQuery!”问题。)顺便说一句:
元素是无效元素,它们不能“包含”任何其他元素或任何文本。第二,你的HTML是什么,你所说的“选择”是什么意思,最后,这是一个非常广泛的问题(这是一个不好的迹象):在这个多方面的问题中,你需要帮助的是哪一部分?当然,我正在寻找一种聪明的方法来实现这一点。由于我不知道如何做到这一点,这就是我标记所有编程语言的方式,这可能是如何做到这一点的方式。重点是只提交所有检查。缩小您的问题到更小的步骤。首先,我建议将此问题限制为:“如何选择与复选框位于同一行中的所有输入元素?”(例如,但这仍取决于“选择输入元素”的含义)。一旦问题解决,然后进入下一步(如果还没有关于该步骤的问题,则使用新问题). 另外:向我们展示你的尝试,展示你的研究,向我们展示你的HTML。事实上,这似乎是你在问我们如何为你构建网站的一个方面(我希望不是真的)。你可以将其视为一个普通的表单提交,只需获取ID。非常感谢你,skobaljic。现在如果我想发布它,如果我这样做,所有复选框都会被发布吗?:
$name=$\u post['name']$数量=$_POST[“数量”]$价格=$_POST['price']
No,
$\u POST['name']
将是一个数组,因此您可以将
foreach($\u POST['name']作为$id=>$name){}。你能给我一个完整的例子吗?用var\u dump($\u POST)来确保所有选中的行都被发布了吗?我仍然有点困惑如何做到这一点,特别是当它必须将javascript与php相结合时。我确实需要帮助,因为我一个人工作。
ID: 1
Name: My name 1
Qty: 100
Price: 23.34
------------------
ID: 3
Name: My name 3
Qty: 50
Price: 15.23
------------------
$.ajaxSetup({ cache: false });
$.ajaxSetup({
   type: 'POST',
   headers: { "cache-control": "no-cache" }
});