2011-07-21 83 views
1

我使用PHP來創建HTML表單。
表單有3個單選按鈕和一個提交按鈕。
在窗體的初始狀態下,沒有選中任何單選按鈕。
我想使表單不被提交,如果非單選按鈕被選中。
有沒有辦法做到這一點?我附上了部分PHP代碼。如果沒有選中單選按鈕,如何不提交表單

for($i=0; $i<$nChoices; $i++) { 
$Text='<input type="radio" name="answer" value="' . $IdChoices[$i] . '"'; 
$Text.="> ". $Choices[$i] . "</input>"; 
$choiceoutput.= $Text."<br /><br />"; 
} 

謝謝!

回答

1

這個JavaScript可用於簡單的客戶端驗證。 僅在客戶端 上驗證是不安全的,但如果您的目的是要查看用戶是否真的選擇了值,則可以。否則,需要在你的php腳本中進行進一步的驗證。

<script type="text/javascript"> 
function validate() 
{ 
    var retval = false; 
    for (var i=0; i < document.myForm.r.length; i++) 
    { 
    if (document.myForm.r[i].checked) 
    { 
     retval = true; 
    } 
    } 

    return retval; 
} 
</script>

使其工作的簡單形式。

<form name="myForm" action="page.php" onsubmit="return validate()" method="post"> 
<input type="radio" id="r"> 
<input type="radio" id="r"> 
<input type="submit" value="ok"> 
</form>
2

您應該使用javascript驗證,攔截提交併檢查是否選中某個按鈕。 但請記住,你還必須在服務器端進行驗證,因爲JS可以被忽略。

或者,如果廣泛的瀏覽器支持是不是你的關心 - HTML5支持的形式約束驗證(https://developer.mozilla.org/en/HTML/HTML5/Forms_in_HTML5

+0

+1,不要忘記服務器端位;) – Jeroen

相關問題