【问题标题】:Form with multiple submit buttons or multiple forms [duplicate]具有多个提交按钮或多个表单的表单[重复]
【发布时间】:2019-07-27 07:44:04
【问题描述】:

我有一个文章列表,我为所有文章添加了一个提交按钮。

事实上,当我在控制器中时,我无法隐藏良好的输入,因为它将采用最后一个输入。

<form method="POST" action="{{url('/deleteArticle')}}">
@foreach($articles as $a)
        {{ csrf_field() }}

    <div class="test">
                <div class="name"><?= $a['name_a'] ?></div>
        <input type="hidden" name="id" id="ida" value='<?= $a['id_a'] ?>'/>
        <input type="submit" class="del" id="delA" class="cross" name="id">X</input>
    </div>
@endforeach
</form>

我没有使用 javascript 来解决这个问题,而是考虑循环我的文章并为它们中的每一个都设置一个表单。

这是一种不好的做法,还是我应该有一个带有一个逐篇提交按钮的表单?这个提交按钮的值不能是“X”,只能是我要删除的文章的ID,这样不利于显示。

【问题讨论】:

  • "这个提交按钮的值不能是"X",只能是我要删除的文章的ID,不利于显示" -> 什么意思?
  • 在我提交的代码中,我将只有最后一个 id 而不是我点击的那个。我可以通过将我的文章的值放在提交按钮的值上来改变它,但是按钮的显示会根据它的数字而改变,但我想要一个叉号。
  • Two submit buttons in one form 的可能重复项。解决方案非常简单:只需确保为每个按钮指定一个唯一名称和/或唯一 ID。就是这样:)
  • @paulsm4 我仍然需要输入按钮的值,这将擦除我的十字架。
  • 多个具有不同值的提交按钮回答重复项应该可以工作,只需将$a['id_a'] 值放入"value" 属性中。

标签: php


【解决方案1】:

您不需要为每篇文章使用单独的表单,不需要隐藏输入,也不需要 JavaScript。只需使用按钮而不是像其他答案建议的输入。如果单击这些按钮中的任何一个,它们都会提交表单,并且$_POST['id'] 将具有被单击按钮的值。

&lt;button&gt;&lt;input&gt; 不同,因为它不是自闭合标签。对于&lt;input&gt;,其值为按钮文本。但是使用&lt;button&gt;,你可以给它一个值,然后把你想要的文本放在标签之间。

这是一个基于您的代码的示例。

<form method="POST" action="{{url('/deleteArticle')}}">
   {{ csrf_field() }}
   @foreach($articles as $a)
      <div class="test">
         <div class="name"><?= $a['name_a'] ?></div>
         <button type="submit" class="del cross" name="id" value='<?= $a['id_a'] ?>' >X</button>
      </div>
   @endforeach
</form>

与问题无关,我也修复了重复的csrf_field,合并了按钮上的两个类。

【讨论】:

    【解决方案2】:

    使用html元素按钮:&lt;button value="id_of_your_current_article"&gt;Delete article&lt;/button&gt;

    然后使用简单的 Javascript 来完成这项工作。

    【讨论】:

    • 如果可能我不想使用 javascript
    • Javascript 有什么问题?然后为每篇文章选择一个表格......但这仍然有点奇怪
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 2017-04-12
    • 2011-04-14
    • 2014-09-28
    • 1970-01-01
    • 2016-10-28
    相关资源
    最近更新 更多