【问题标题】:Execute PHP using JavaScript onclick submit使用 JavaScript onclick submit 执行 PHP
【发布时间】:2012-08-02 01:54:23
【问题描述】:

如何使用 JavaScript onclick 按钮执行 PHP? 我可以让表单提交,但 PHP 没有得到执行。我猜是因为if(isset($_POST['form']))

这是我要执行的 PHP:

if(isset($_POST['form']))
{
    if(!isset($error))
    {
        $database->query('UPDATE table SET field = :value WHERE id = :id', array(':field' => $value, ':id' => $id));
    }
}

这是我在<form> 标签之前的按钮:

<div onclick="javascript: $(\'#form\').submit();">Update</div>

当然我的&lt;form&gt; 标签看起来像这样:

<form name="form" id="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <select name="value">
    <option value="1">Value1</option>
    <option value="2">Value2</option>
    <option value="3">Value3</option>
  </select>
</form>

【问题讨论】:

  • 我可以让表单提交,但 PHP 没有得到执行。我认为这是因为if(isset($_POST['form']))
  • 我不能在&lt;form&gt;标签中使用name=form

标签: php javascript pdo onclick


【解决方案1】:

PHP 通常运行在服务器端。 JavaScript 通常在浏览器中运行。你需要把PHP放在服务器上的文件blah.php中。

【讨论】:

  • 我可以让表单提交,但 PHP 没有得到执行。我认为这是因为if(isset($_POST['form']))
  • $_POST['form'] 更改为$_POST['foo'],其中foo 是您关心的input 元素的名称属性。
  • 啊,当然。我多么愚蠢。由于表单中可能有多个input 字段,因此我希望在&lt;form&gt; 标记中使用name=form。但你的建议会奏效。
【解决方案2】:

我怀疑你有一个 $_POST['form'] 变量。 $_POST 将包含所有表单元素的 ID,例如电子邮件、电话、姓名等...$_POST['email'],但可能不包含通用的“表单”键。

我会用 if (isset($_POST))

【讨论】:

  • 我考虑过使用它,但页面上有两个表单。
猜你喜欢
  • 2015-05-14
  • 2013-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-11
  • 2016-04-24
相关资源
最近更新 更多