2014-02-07 83 views
1

我理解的形式的來龍去脈,但例如說我有以下代碼:沒有值使用複選框屬性

<form method="post" action="urltoserver"> 
<input type="checkbox" name="mycheckbox" value="1">Question</input> 

</form> 

在這裏,我已經爲$ _POST數組的值。但是,如果我只是想知道是否選中了複選框(即,我不會爲返回的值而煩惱),將value屬性放在一起是可行/常見的做法嗎?它會在這種情況下返回true/false嗎?

+0

注意,''標籤是自動關閉的。爲了回答你的問題,你爲什麼不試試呢? – j08691

+0

注意這個問題中的'普遍實踐'......有些東西在編程中是可行的,不一定是正確的或者是建議的。 – Giovanni

+0

認爲你可能會爲此付出代價,相當輕微。 – Giovanni

回答

2

我假設PHP自從你提到$_POST;如我錯了請糾正我。

如果選中複選框(並且沒有賦值),您應該(IIRC)返回on值(因爲未檢查的框與請求一起發送)。所以,如果你有:

<form method="POST"> 
    <input type="checkbox" name="foo" /> Foo 
    <input type="checkbox" name="bar" checked="checked"/> Bar 
    <input type="checkbox" name="baz" checked="checked"/> Baz 
</form> 

你會看到:

isset($_POST['foo']) == false 
isset($_POST['bar']) == true 
isset($_POST['baz']) == true 

在服務器端,當你又去看了檢查狀態。

最容易做的事情不過,如果你正在學習,是用下面的代碼提交到一個頁面:

<?php 
    var_dump($_REQUEST); 

會告訴你,逐字,提交什麼(基於表單的填充值)。從那裏你可以玩你想如何格式化表單以接收你期望的值。

+0

謝謝你,有幫助的答案! – Giovanni