2015-10-15 41 views
0

Laravel複選框宏我試圖張貼0氾濫,1選中的複選框。在瀏覽器與強制值

macros.php

Form::macro("check", function($name, $value = 1, $checked = null, $options = array()){ 
    return Form::hidden($name, 0).Form::checkbox($name, $value, $checked, $options); 
}); 

它的HTML輸出:

<input name="mycheckbox" value="0" type="hidden"> 
<input id="mycheckboxID" name="mycheckbox" value="1" type="checkbox"> 

我提交表單,它選中返回1託運和0。

問題:當我發佈和return dd(Input::get('mycheckbox')); 它有時會返回我像0的實際值選中1檢查,但有時它返回我像0錯誤的值檢查,1聽之任之。有任何想法嗎 ?

+0

你的複選框,你隱藏的輸入共享同一個'name'屬性。 – Adrenaxus

回答

1

你的複選框,你隱藏的輸入共享同一個name屬性。如果實際檢查,該複選框只會包含一個值。

使用不同的名稱,並預期它應該工作。

+0

那麼可以請你告訴我,我怎麼得到我的控制器不同的名稱與輸入複選框的值::獲得(「字段名」); ? –

+0

您*可以*擁有多個共享相同名稱的複選框。沒關係。然後,您將使用Input :: get('fieldname')獲得一個點擊值的數組;但是您不能使用相同的'name'屬性具有複選框和隱藏的輸入。 – Adrenaxus

+0

我爲單選按鈕做同樣的事情,它很好,很有趣。所以,假設我已經改變了隱藏的字段名稱。 Input :: get('fieldname')返回該字段的字符串值。不是一個數組。 –