是你需要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