我正在尋找一種方法來告訴用戶,他必須至少選中複選框,如果他沒有選擇任何複選框按下提交按鈕。通過使用php警告消息,該複選框未選中使用php
回答
<?php
if(isset($_POST['submit']))
{
$checked=0;
for($i=0;$i<=2;$i++){//check all the boxes
if(isset($_POST['checkbox'.$i]))
$checked=1;
}
}
if ($checked==0){//alert if no boxes are checked
echo("You must check at least 1");
}
else{
header("location: nextpage.php");
}
?>
<form name="form1" method="POST" action="">
<input name="checkbox0" type="checkbox" value="1"> 1
<input name="checkbox1" type="checkbox" value="2"> 2
<input name="checkbox2" type="checkbox" value="3"> 3
<input name="submit" type="submit" value="Submit">
</form>
該代碼工作正常,但當我做出的行動等於另一個PHP頁面,它會帶我到這個網頁,即使我沒有選擇複選框。 – user2521365
您應該將操作設置到此處理頁面,然後如果$ checked值爲0,請使用標題轉到您希望加載的頁面。 –
PHP發生在服務器上,在用戶看到頁面之前。用戶只能看到最終的渲染產品。您可以使用javascript來測試您的元素是在他們離開頁面之前被選中的,還是在下一頁處測試您的表單的處理位置。 (或者兩者都做,因爲JavaScript可以被用戶關閉。)
的JS,你正在尋找的開始是onsubmit()
,也許document.getElementByID['the id of the input field'].checked
我會使用jQuery,這和做它像這樣。 ..
<form id="test" method="post" action="wherever.php">
<input type="checkbox" id="checkbox1" name="test" value="Checkbox1">Checkbox1
<button id="formsubmit">SUBMIT</button>
</form>
然後在你的jQuery的,做
$('#formsubmit').click(function(e){
e.preventDefault();
if($("#checkbox1").is(':checked')){
//on success
$('form#test').submit();
} else {
//on no checkbox
alert('you need to check box');
}
});
如果您在希望PHP,你可以這樣做:
<?php
if(isset($_POST['SubmitButton'])) //checking if form was submitted
{
if(isset($_POST['test'])) //checking if button was checked
{
echo "Checkbox was checked!";
}
}
?>
<form action="" method="post">
<input type="checkbox" name="test" value="value">
<input type="submit" name="SubmitButton"/>
</form>
這將檢查是否提交表單或沒有,然後檢查是否複選框進行了調查。如果是這樣,那麼它只是迴應消息。很簡單。
希望這會有所幫助。
您可以使用@ JM-verastigue答案將用戶重定向到的頁面要:
if ($checked == 0){
// display alert
} else {
// redirect user
}
- 1. Tkinter警告消息中的「不再顯示消息」複選框
- 2. 在asp.net中點擊複選框顯示彈出警告消息
- 3. 在JSP中檢查複選框時顯示警告消息
- 4. 選中/取消選中該複選框
- 5. PHP複選框,未選中框選項
- 6. PHP警告消息
- 7. 如果所有複選框都未勾選,則警告用戶
- 8. 重複輸入警告消息框
- 9. php警告消息未定義變量
- 10. Java,組合框警告未選中?
- 11. NServiceBus回覆消息警告
- 12. PHP錯誤警告消息
- 13. 動態複選框被選中/取消選中時的警報
- 14. 在文本框中保留消息時該複選框被選中還是
- 15. Clang和gcc選項可抑制未定義的消息警告?
- 16. 如何使用PHP彈出警告消息框?
- 17. 警告消息
- 18. silverlight:複選框選中/未選中複選框已選中/未選中
- 19. 選中的複選框不應該被取消選中
- 20. 選中/取消複選框
- 21. 取消選中複選框
- 22. 取消選中複選框
- 23. 未選中複選框時發生錯誤(使用PHP)
- 24. 即使在顯示錯誤消息後仍選中複選框
- 25. 如何使錯誤訊息消失時複選框被選中
- 26. 使只有複選框取消選中
- 27. 如果複選框被多個選中,我如何添加javascript警報消息?
- 28. 添加複選框到WPF消息框
- 29. 如何取消選中父複選框,當他們的孩子複選框使用Jquery未選中時?
- 30. jQuery複選框選中取消選中子複選框
這聽起來像JavaScript是你想要 – DFord
你可以使用前端驗證,以達到更好的這很容易,也許不需要涉及服務器端腳本。 – raj