【问题标题】:Checkbox not being sent in POST using PHP未使用 PHP 在 POST 中发送复选框
【发布时间】:2016-06-23 00:28:21
【问题描述】:

我有一个复选框,它没有被发送到使用 POST 的回调页面。我读过它需要一个值,并且我提供了它,但不确定还有什么问题。这是我目前正在使用的复选框代码。此处使用 Smarty。

{foreach from=$all_splash_carriers item=item}
            <tr>
                    <td class="evp">{$item.carrier}:</td>
                    <td><input name="{$item.splash_carriers_id}.splashcarrier.{$item.carrier_id}" value="{$item.url}"/><input type="checkbox"  name="{$item.carrier_id}.checkbox" value="1" {if $item.activated == '1'}checked{/if}/>Activated</td>

            <tr>
{/foreach}

【问题讨论】:

  • 这里使用了一些未命名的框架
  • 它是smarty
  • 啊,好吧,在问题中提到了一件很重要的事情。
  • @Reid 您的代码似乎没有任何问题。复选框未预选的唯一原因是 {$item.activated == '1'} 失败

标签: php html smarty


【解决方案1】:

如果未选中,则不会发送复选框。

此外,PHP 会默默地将名称中的任何点转换为下划线,因为否则“register_globals”模式将呈现无法访问的全局变量。

【讨论】:

  • 我已尝试选中该框,但仍未发送。
  • 这个答案帮助我找到了问题所在。该项目正在发送,但名称被发送为 1_checkbox 而不是 1checkbox 正如我预期的那样。
  • 对,因为 PHP 会默默地将名称中的任何点转换为下划线,否则“register_globals”模式将呈现无法访问的全局变量。
【解决方案2】:
if $item.activated == '1'

应该是

if ($item.activated == '1')

【讨论】:

  • 这在 smarty 中对于单个二进制条件无关紧要。
猜你喜欢
  • 2016-08-24
  • 2015-09-13
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多