如何将输入按钮绑定到需要执行PHP的li

时间:2018-01-03 09:31:47

标签: php jquery

我正在尝试在我的网站上手动删除文件。我创建了一个可以删除的所有文件的列表,每个文件都有一个输入按钮。我已经与jQuery建立了一种联系。

问题在于按钮无法识别它的父母,因此它不会发送任何信息。

这是删除功能的PHP:

if(isset($_POST["destroyFile"])) {

        $filename = $_POST["remove_file"];
        $file = 'views/home/added_files/'.$filename.'.php';
        $this->query("DELETE FROM page_context WHERE file_name='$filename'");
        $rows = $this->resultSet();
        unlink($file);
    }

我用for循环调用每一行,这就是它的回声。

echo "<li name=''>$filename[$i]<input type='submit' name='destroyFile' value='Remove File'></li>";

并且它并不多,但这是我的jquery,它改变了父的名字,即li。似乎它与它无关。它只是改变了名称,仅此而已。

$("li").on("click", "input", function(e) {
    e.preventDefault();
    $(this).parent().attr("name", "remove_file");
    alert("hey");
});

上面的jQuery创建了li的名称,并且应该在destroyFile isset之后调用该名称。

这甚至可行吗?因为php是服务器端的,jQuery是更多的网站侧面编码。

注意:我创建了一个输入字段,我可以输入文件名。这很有效。所以PHP代码很好,很花哨。

注2:这是我的坏习惯,但我重新使用$变量。我的php代码中的$ filename与echo中的$ filename不同。提前警告。

1 个答案:

答案 0 :(得分:0)

您指定了提交按钮:

<input type='submit' name='destroyFile' value='Remove File'> 

这意味着,您可以使用$_POST['destroyFile']访问PHP中特定按钮的值,因为您命名为input 'destroyFile'。它的值始终为'Remove File'

要提供特定文件,您可以将按钮的值设置为$filename[$i]

echo "<li>remove file <button type='submit' name='destroyFile' value='{$filename[$i]}'>{$filename[$i]}</button></li>";

现在,调用$filename = $_POST['destroyFile'];会将特定文件名保存到变量中。