Php href超链接作为帖子

Php href超链接作为帖子,php,forms,post,get,Php,Forms,Post,Get,我想知道映射执行HTTP GET的超链接以执行HTTP POST(我希望避免传递URL中的所有变量)的最佳方法是什么?例如,下面的2hrefs。此外,我还想摆脱submit按钮,使用常规的超链接。有什么建议吗 <form action="test.php?action=update" method="post" id="cart"> <table> <tr> <td> <a href="test.php

我想知道映射执行HTTP GET的超链接以执行HTTP POST(我希望避免传递URL中的所有变量)的最佳方法是什么?例如,下面的2
hrefs
。此外,我还想摆脱
submit
按钮,使用常规的
超链接。有什么建议吗

<form action="test.php?action=update" method="post" id="cart">
  <table>
    <tr>
      <td>
        <a href="test.php?action=delete&id=<?php echo $id ?>" class="r">
          remove
        </a>
      </td>
      <td>
        <a href="test.php?action=add&id=<?php echo $id ?>" class="r">add</a>
      </td>
    </tr>
    <tr>
     ...
    </tr>
  </table>
  <div> <button type="submit">Update</button> </div>
</form>

...
更新

您可以将输入标记隐藏在表单中,以POST的形式提交

<td><a href="test.php?action=delete&id=<?php echo $id;?>" class="r">remove</a></td>
<td><a href="test.php?action=add&id=<?php echo $id;?>" class="r">add</a></td>

使用两种形式重写上述内容,我建议使用and。当点击链接时,通过如下方式提交数据

$('.r').on('click', function() {
        $.post('test.php', {key:'value', key2:'value2'}, function(data) {
          //error check here
        });
    return false;
});

据我所知,你不能执行任何带有链接的POST请求。对于禁用javascript的用户和启用javascript的用户,您可以使用链接和php发出GET请求,取消使用javascript的链接的默认行为,并在ajax的帮助下使用ajax发出POST请求

例如:

<a class="submit" href="hallo.html?hello=world&test=yes">Test</a>

您还可以编写其他POST函数以查看更多信息


另外,我想,如果你以任何方式使用表单,为什么不使用提交按钮,是因为CSS样式吗?您可以像其他任何元素一样对其进行样式设置(在某些浏览器中进行了一些调整)。

没有AJAX或表单,您无法提交帖子。@Jivings,我不想摆脱
表单,但要在URL中传递变量,您只需要用输入元素替换链接。@Jivings,但是对于
隐藏的
输入元素,哪一个应该是
,例如,我有
action=delete
action=add
,它们出现在两个单独的超链接中。元素的名称是
action
,值是
delete
add
。阅读HTML表单。查看我所做的更改。我没有给出完整的代码,只是你的家庭作业。你甚至可以使用相同的表单运行此操作,但需要在动作脚本上附加条件。如果我使用两个附加表单,一个是
,另一个是
,我将在第三天结束时使用3个
表单,一个是外部表单,其中包含这两个新表单,是否可以使用嵌套的
表单
s?如果可以正确编写操作脚本,则不需要嵌套表单,或者不需要多个表单。请参阅本文,尽管这是正确的,但OP更重要的是在开始使用jQuery和进行AJAX调用之前,了解如何正确使用HTML表单。是的,但要将锚定链接映射到post请求,它将不可避免地在某个时候终止于ajax。没有锚定。它们应该是表单元素。我只是根据问题中发布的内容,映射到PostStack Exchange不仅仅是为了回答问题,而是为了确保海报能够更好地理解。这是一个很好的例子。
<a class="submit" href="hallo.html?hello=world&test=yes">Test</a>
$('.submit').click(function(){
    var urlPairs = this.href.split('?')[1].split('&'),
        total = urlPairs.length,
        current = [],
        data = {};

    for(;total;) {
        current = urlPairs[--total].split('=');
        data[current[0]] = current[1];
    }

    $.post('test.php', data);

    return false;
});