1

我有这个:

<form action="index.php" method="get">
     <input  type="checkbox" name="Convs_revenue"
      <? echo (isset($_GET['extra_Data'])?"value='yes'":"value='no'");?>  
      <? if (isset($_POST['extra_Data']) ) echo 'checked="checked"'; ?> >extra_Data </input>
      <input type="submit" value="send">
</form>

现在我需要保持 tp 的值保持复选框的值,并在未选中时取消设置它。我必须对这个表单使用 GET 方法,并且这也需要在同一页面上。

发生的事情是,无论我做什么,它似乎总是被检查,并且 get 数组总是保持这个状态......

4

1 回答 1

1

首先,<input />不需要结束标签。我还对代码进行了一些整理,使其更具可读性。

我添加了一个额外的检查以确保$_POST['extra_Data']它不为空。如果它以某种方式发布为空,它将显示为设置,我看不到您如何生成 POST 本身。

<form action="index.php" method="get">
     <input name="Convs_revenue" type="checkbox" value="<?php (isset($_GET['extra_data']) ? 'yes':'no'); ?>" <?php (isset($_POST['extra_Data']) && !empty($_POST['extra_Data'] ? 'checked="checked"' : '') ?> />
     <input type="submit" value="send">
</form>
于 2012-11-07T11:37:20.617 回答