【问题标题】:How to bind an input button to an li that needs to execute PHP如何将输入按钮绑定到需要执行 PHP 的 li
【发布时间】:2018-01-03 09:31:46
【问题描述】:

我正在尝试在我的网站上手动删除文件。我创建了所有可以删除的文件的列表,每个文件都有一个输入按钮。我已经与 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: 这是我的一个坏习惯,但我重复使用了 $variables。我的 php 代码中的 $filename 与 echo 中的 $filename 不同。只是提前警告。

【问题讨论】:

    标签: php jquery


    【解决方案1】:

    您指定了提交按钮:

    <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']; 会将特定文件名保存到变量中。

    【讨论】:

    • 非常感谢。通过一些调整,我能够执行我想要的。如果没有你的帮助,我会花更长的时间。
    猜你喜欢
    • 2018-05-08
    • 2019-01-10
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2015-03-02
    • 2010-12-20
    • 2011-04-26
    相关资源
    最近更新 更多