是你需要JavaScript才能做到这一点。如果您对提交表单感到满意,并且每次更改选择框(即选中/取消选中)时刷新页面,都可以非常容易地完成。如果你不能接受这个,你必须使用ajax。这将是您的最佳解决方案,并且就像ajax一样简单,在您的工具箱中安装未来项目是一件好事。
这就是说,你可以给你的身形一个id属性做到这一点,并粘贴只是你的形式下该JavaScript(及编辑等形式ID VAR):
<script type="text/javascript">
var formId = "YOUR FORM ID HERE";
function submitForm(){document.getElementById(formId).submit()}
</script>
然后将以下属性添加到每个复选框:onchange="submitForm()"
。
同样,强烈建议对这类东西使用ajax,如果你看看jQuery ajax,你会留下深刻的印象,这是多么容易做到。
编辑:你能做些什么来真正在现有的代码实现这个(更换):
<form action="php-file-to-process-form.php" id="your-form-id" method="post">
<?php if(count($holidays)>0): foreach($holidays as $holiday): ?>
<p>
<a href="<?php echo $holiday->link; ?>"><?php echo $holiday->title; ?></a>
<br>
<?php echo $holiday->description; ?>
<input type="checkbox" name="saveCB[<?php echo $holiday->id; ?>]" value="<?php echo $holiday->id; ?>">
</p>
<?php endforeach; endif; ?>
</form>
<script type="text/javascript">
var formId = "your-form-id";
function submitForm(){document.getElementById(formId).submit()}
</script>
请注意我改写了你的部分代码。但在这种情况下,假设你的$ holiday对象有一个“id”属性,php-file-to-process-form.php应该会收到一个相当理解的post请求。
Javascript + Ajax应该可以解决你的问题 – 2012-04-02 11:10:23