Javascript 带有多个提交按钮的PHP表单
我有一张有两个按钮的表格。它是一个提交表单,基本上是用来根据点击哪个按钮来增加/减少MySQL数据库中的整数值 这是一个奇怪的场景,页面需要ID扩展 appinfo.php?id=12 每当我单击其中一个按钮时,它都会将扩展名更改为: appinfo.php?VoteYes=Yes 理想情况下,我希望这样,如果有人单击Yes,它将在SQL查询中增加一个值,如果他们单击no,它将减少该值 以下是我到目前为止的情况:Javascript 带有多个提交按钮的PHP表单,javascript,php,jquery,mysql,forms,Javascript,Php,Jquery,Mysql,Forms,我有一张有两个按钮的表格。它是一个提交表单,基本上是用来根据点击哪个按钮来增加/减少MySQL数据库中的整数值 这是一个奇怪的场景,页面需要ID扩展 appinfo.php?id=12 每当我单击其中一个按钮时,它都会将扩展名更改为: appinfo.php?VoteYes=Yes 理想情况下,我希望这样,如果有人单击Yes,它将在SQL查询中增加一个值,如果他们单击no,它将减少该值 以下是我到目前为止的情况: <form action="<?php echo $_SERVER['
<form action="<?php echo $_SERVER['PHP_SELF'] . "?id=" . $_GET['id']; ?>"/>
<input id="submit" name="VoteYes" type="submit" value="Yes" class="btn btn-success"></input>
<input id="submit" name="VoteNo" type="submit" value="No" class="btn btn-warning"></input>
</form>
在
中添加属性method=“post”
。默认设置是GET
,它正在更改您的URL
因此,它应该是:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] . "?id=" . $_GET['id']; ?>"/>
<input id="submit" name="VoteYes" type="submit" value="Yes" class="btn btn-success"></input>
<input id="submit" name="VoteNo" type="submit" value="No" class="btn btn-warning"></input>
</form>
如果您确实需要查询字符串,可以使用包含id的隐藏输入来执行此操作,
我还修改了名字,使它不那么复杂
<form>
<input id="submit" name="Vote" type="submit" value="Yes" class="btn btn-success" />
<input id="submit" name="Vote" type="submit" value="No" class="btn btn-warning" />
<input name="id" type="hidden" value="<?php echo $_GET['id']?>" /></form>
我看到了几个问题。您没有名为id
的表单字段。(您也没有验证该字段。)您看到的是您单击的按钮的名称被添加到查询字符串中。我推荐的方法是对处理将数据插入数据库的逻辑的脚本进行按钮单击时进行ajax调用。然后在成功回调上,您可以更新表单操作或任何您需要执行的操作。希望我没有错,问这个问题。在您的解决方案中,“appinfo.php?id=”如何更改为“appinfo.php?VoteYes=”?因为上面的代码添加了id=“passed argument”它必须是VoteYes=“passed argument”在某个时间对吗?@shridhar当使用方法get
提交表单时,浏览器会忽略操作属性中可能已经存在的任何参数,并且只在URL中包含表单数据。