CakePHP问题:我怎么能从单选按钮获得价值,我怎么能调用一个动作


CakePHP question: How can i get value from radiobutton and how can i call an action?

<div id="rightsidesix" >
    <?php echo '<div class="class_color_title" ><b>'."Polls".'</b></div>'; ?>
    <?php
        echo '<div id="id_color_polls" >';
            echo '<p><b>Which linux distribution do you like most ?</b></p>'.'<br/>';
            $options=array('F'=>'Fedora','U'=>'Ubuntu','D'=>'Debian','O'=>'openSuse','M'=>'Mandriva','T'=>'Other');
            $attributes=array('legend'=>false);
            echo $this->Form->radio('distributions',$options,$attributes);
            echo $this->Form->button('Check',array('id'=>'id_btnpolls'));
        echo '</div>';
        echo '<br/>';
    ?>
</div>      

我应该在表单中添加这些表单输入/单选按钮吗?

点击按钮后,将调用jQuery函数

$("#id_btnpolls").click(function(){

    var valCheckedRadio = $('input[name=data[distributions]]:checked').val()
    alert(valCheckedRadio);

    $.ajax({
        type: "POST",
        url: "<?php Router::url(array('controller'=>'posts','action'=>'polls')); ?>,",
        data: "valCheckedRadio="+valCheckedRadio,
        success: function(prm){
            //alert(prm);
            $("#id_color_polls").html(prm);
        }
    });
})

这是调用控制器动作的正确方法吗?

        url: "<?php Router::url(array('controller'=>'posts','action'=>'polls')); ?>,",
$("#id_btnpolls").click(function(){

var valCheckedRadio = $('input[name=data[distributions]]:checked', '#myForm').val()
alert(valCheckedRadio);

$.ajax({
    type: "POST",
    url: "<?php $html->url(array('controller'=>'posts','action'=>'polls')); ?>,",
    data: "valCheckedRadio="+valCheckedRadio,
    success: function(prm){
        //alert(prm);
        $("#id_color_polls").html(prm);
    }
  });
})

无论你做什么对我来说都很好。您可以使用这样的代码从radio group获取一个值。

$('input[name=radioName]:checked', '#myForm').val()

根据你的url部分,cakephp完全可以。