【问题标题】:How to trigger PHP/jQuery when a button is clicked [duplicate]单击按钮时如何触发PHP / jQuery [重复]
【发布时间】:2012-07-28 18:28:17
【问题描述】:

我有以下表格:

HTML

<form id="myForm" action="" method="post">
<div id="edit-box">
<INPUT type="submit" name="save-text" id="save-text" value="Save">
<textarea id="editor" name="editor">
<?php echo $content; ?>
</textarea>
</div>
</form>

PHP

if ($_POST["save-text"]){
    // get form data and do stuff here
}

如何确保 PHP 脚本仅在单击提交按钮时运行,而在其他时间不运行?

【问题讨论】:

  • 您当前的代码有什么问题吗?
  • 是的..它什么也没做。我想根据表单内的按钮 id 触发 php。你能告诉我该怎么做吗?
  • 只需在action 中填写您的php 路径即可。 action="path/filename.php"
  • 当您检查表单是否已提交if (isset($_POST['save-text'])) { 时,可能想要使用isset()。还可以尝试通过在 if 语句中输入 echo 'submitted'; 来调试它,以检查它是否被提交。
  • @user21472 什么对你有用?填写action 还是使用isset() ?让我们知道,以便我们中的一个人将其写下来作为您接受的答案。

标签: php jquery


【解决方案1】:

在页面开头的 HTML 标记之前添加它。
另外不要忘记将页面扩展名从.html更改为.php

if (isset($_POST['save-text'])) {
    // get form data and do stuff here
}

【讨论】:

    【解决方案2】:

    问题是if($_POST["save-text"]) 返回 false,因此您的代码没有被执行。您需要用isset() 函数包装$_POST["save-text"]isset() 可用于检查某个变量是否存在,如果变量存在且其值为NULLFALSE 以外的值,则返回TRUE

    正确的代码如下所示:

    if (isset($_POST['save-text'])) {
        //Do something
    }
    

    您还应该确保您的提交按钮具有“值”属性。如果没有,$_POST 数组中不会有值,因此 isset($_POST["submit"]) 将返回 false。

    例子:

    <input type="submit" name="submit">
    
    isset($_POST["submit"])   // returns false
    
    <input type="submit" name="submit" value="submit">
    
    isset($_POST["submit"])   // returns true.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      • 2015-02-04
      • 1970-01-01
      • 2014-09-15
      • 2014-02-28
      相关资源
      最近更新 更多