CodeIgniter - 将按钮值传递给表单

时间:2012-06-28 09:51:44

标签: php codeigniter

我有这段代码(查看):

      <?php echo $own['own'] ? form_open('games/updateOwn', 'id="ownGame"') : 
             form_open('games/setOwn', 'id="ownGame"'); ?>
            <input type="hidden" name="userid" value="<?php echo $userid; ?>">
            <input type="hidden" name="gameid" value="<?php echo $game['id'];?>">
            <button value="1" name="own[]">Mam/miałem</button>
            <button value="2" name="own[]">Chcę mieć</button>
            <button value="3" name="own[]">Nie interesuje mnie</button>
        </form>

这是在db中放置所有权的简单形式。模型:

public function Own($data) {
        $gameid = $this->input->post('gameid');
        $userid = $this->input->post('userid');
        $own = $this->input->post('own');

        $this->db->cache_delete('games',$gameid);

        $ins_own = array(
            'user_id' => $userid,
            'game_id' => $gameid,
            'own' => $own
        );

        $q = $this->db->insert('ownership', $ins_own);
    }

我的问题是,ownbutton的值)未提交。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

这是一个解决方法,它根本不是一个好的解决方案,但似乎现在有效。最大的缺陷是启用JavaScript的必要性。但不过,这里是:

查看

            <input type="hidden" name="own" value="" id="own">

            <button value="1"<?php echo $own['own'] == '1' ? ' class="selected"' : ''; ?>>Mam/miałem</button>
            <button value="2"<?php echo $own['own'] == '2' ? ' class="selected"' : ''; ?>>Chcę mieć</button>
            <button value="3"<?php echo $own['own'] == '3' ? ' class="selected"' : ''; ?>>Nie interesuje mnie</button>

JavaScript(jQuery):

    $('form#ownGame button').each(function() {
        $(this).click(function() {
            var val = $(this).val();
            $('#own').val(val);
            return false;
        })
    })

我希望它可以帮助某人。但我仍然对你的任何新命题或答案持开放态度!

答案 1 :(得分:0)

默认情况下,

<button>会有一个按钮类型,因此您应该为每个按钮添加type="submit"以使其正常工作。

<button type="submit" value="1" name="own">Mam/miałem</button>
<button type="submit" value="2" name="own">Chcę mieć</button>
<button type="submit" value="3" name="own">Nie interesuje mnie</button>