如何使用<a> tag and passing hidden value?</a>发布到表单

时间:2013-08-30 10:01:46

标签: php javascript jquery forms laravel-4

如果我有一些编码如下。

<form method="POST" action="localhost/carts/delete">
  <a href="#" onclick="$(this).closest('form').submit();">Item 1</a>
  <a href="#" onclick="$(this).closest('form').submit();">Item 2</a>
  <a href="#" onclick="$(this).closest('form').submit();">Item 3</a>
</form>

我喜欢发布一个带有隐藏值的表单来指示单击哪个项目,该怎么做?

感谢。

编辑文字。

感谢您提出了许多有用的建议。

我实际上使用的是Laravel 4而不是PHP,我的Laravel代码生成了这个HTML

<form ...>
  <ul>
    <li> 
      <h1>Key: 1 </h1>
      <input name="cart_id" type="hidden" value="1"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
    </li>
    <li> 
      <h1>Key: 2 </h1>
      <input name="cart_id" type="hidden" value="2"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
    </li>
    <li> 
      <h1>Key: 6 </h1>
      <input name="cart_id" type="hidden" value="6"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
    </li>
    <li> 
      <h1>Key: 7 </h1>
      <input name="cart_id" type="hidden" value="7"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
    </li>
  </ul>
</form>

所以,当我点击任何项目时,我得到7这是cart_id的最后一个值,如何放置在正确的位置,在JavaScript ???

3 个答案:

答案 0 :(得分:1)

在表单中创建隐藏元素:

<form method="POST" action="localhost/carts/delete">
    <input type="hidden" name="myValue" value="" id="myValue"/>

    <a href="#" data-value="1">Item 1</a>
    <a href="#" data-value="2">Item 2</a>
    <a href="#" data-value="3">Item 3</a>
</form>

然后点击任意链接(a)更改其值并提交表单。

$('a').click(function(e){
    //preventing the default link redirection
    e.preventDefault();

    $('#myValue').val($(this).data('value'));
    $(this).closest('form').submit();
});

答案 1 :(得分:1)

使用隐藏的输入字段,如:

<input type="hidden" value="hidden value" name="id"/>

此页面中无法显示此框。

答案 2 :(得分:1)

改用输入字段。

<form method="POST" action="localhost/carts/delete">
  <input type="submit" value="Item 1" name="whichitem[]" />
  <input type="submit" value="Item 2" name="whichitem[]" />
  <input type="submit" value="Item 2" name="whichitem[]" />
</form>

然后在PHP中,您可以检索点击的值,如下所示:

$_POST["whichitem"]

如果您担心样式,只需将其添加到您的CSS中:

input[type="submit"]{
   //style
}