3

我的网页看起来像这样

<form id="1" ... action="<?php $arr = explode ('/',$_SERVER['REQUEST_URI']); echo $arr[count($arr) - 1]; ?>#partone">       
  <div id = "partone">Hello</div>
</form>

<form id="2" ... action="<?php $arr = explode ('/',$_SERVER['REQUEST_URI']); echo $arr[count($arr) - 1]; ?>#parttwo">       
<?php
if(//what?)
  echo '<input type="checkbox" name="aktualisieren" value="yes" id="aktualisieren" checked>refresh';
else
  echo '<input type="checkbox" name="aktualisieren" id="aktualisieren" value="no">refresh';
?> 
<div id = "parttwo">Hello, two</div>
</form>

我的目标是

  • 总是知道复选框aktualisieren是否在提交页面之前被选中/被选中
  • 转移状态
  • 将状态保存到变量 $checked

因此,如果检查了aktualisieren,现在应该检查它,并且某些变量 $checked 应该为真,反之亦然。

表单 1提交而表单 2包含复选框时会出现问题,因此 $_POST 中将没有字段用于复选框。

编辑:使用不同表单的原因是我想用不同的锚点提交它以根据提交的位置跳转到适当的位置。如果可以以不同的方式完成,我只能使用一种形式。

4

2 回答 2

1

使用单一表格。这是如何做到这一点的答案。

否则,您必须使用一个小技巧来做到这一点:在 form1 中创建相同的复选框元素,但将其隐藏。每当 form1 中复选框的状态发生更改时,您都必须更改隐藏复选框的状态。

于 2013-03-30T08:18:05.797 回答
0

您应始终每页只使用一个表格。否则,当您提交一个表单时,其他表单中的所有数据都会丢失。我通常在正文标签的最开始处开始表单。

于 2013-03-30T08:36:41.347 回答