当我的按钮在表单之外时,获取复选框的值


Get value of checkbox when my button is outside of form

我对包含foreach的表单有一些问题,我在表单外(foreach外)输入提交按钮,但当我选择复选框时,它只得到第一个复选框!!!如何做到这一点?感谢

重做:我无法将表格放在前臂周围。

{foreach from=$aWSForServer2 key=ws item=webservice}
    <form action="index.php" method="post" onSubmit="return confirm('{$i18n.confirm_suppress}')" id="FormDelSelWS" >
    <input type="hidden" name="view_mode" value="{$view_mode}" />
    <input type="hidden" name="action" value="del_sel_ws" />
    <input type="hidden" name="idServer" value="{$server_id}" />
    <input type="checkbox" name="WSSelcet[]" value="{$webservice.Webservice__}" />
   </form>
{/foreach}
<table style="width:620px;margin:5px;">
  <tr>
   <td style="width:300px"></td>
   <td style="width:140px"></td>
   <td style="width:160px"></td>
    <td>
   <button type="submit" value="{$i18n.suppress}" form="FormDelSelWS">
    supprimer</button>
  </td>
 </tr>
  </table>
  • 表单控件不能与多个表单关联
  • 文档中的ID必须是唯一的(因此不能在循环中生成具有相同ID的多个表单)

你需要重新思考你的逻辑,可能包括一个单一的形式

目前还不清楚循环中哪些值发生了变化,但看起来只有复选框发生了变化。如果是这样的话,你只需要在表单中移动你的循环

<form action="index.php" method="post" onSubmit="return confirm('{$i18n.confirm_suppress}')">
    <input type="hidden" name="view_mode" value="{$view_mode}" />
    <input type="hidden" name="action" value="del_sel_ws" />
    <input type="hidden" name="idServer" value="{$server_id}" />
    {foreach from=$aWSForServer2 key=ws item=webservice}
        <input type="checkbox" name="WSSelcet[]" value="{$webservice.Webservice__}" />
    {/foreach}
    <button type="submit" value="{$i18n.suppress}">
        supprimer
    </button>

如果循环中的任何其他值发生变化,并且需要与特定的提交按钮关联,那么您可以:

  • 只需将它们保存在服务器上,并使用复选框值进行查找即可
  • 将它们编码为与复选框名称相关联的形式(然后在服务器上查找,但在$_POST中查找)

例如:

<input type="hidden" name="idServer[{$webservice.Webservice__}]" value="{$server_id}" />