CHtml::ajaxbutton
フォームなしで要素を投稿するために Yiiを使用する方法の例を誰か挙げることができますか?
22966 次
3 に答える
7
簡単な例
<?php
echo CHtml::ajaxSubmitButton('ButtonName',Yii::app()->createUrl('advert/LoadAdvertFromSay'),
array(
'type'=>'POST',
'data'=> 'js:{"data1": val1, "data2": val2 }',
'success'=>'js:function(string){ alert(string); }'
),array('class'=>'someCssClass',));
?>
data
内部にパラメータが必要ですajaxoptions
于 2012-12-12T10:49:04.757 に答える
4
データを渡すには、それを ajax 配列に追加する必要があります。
<?php
echo CHtml::ajaxSubmitButton('ButtonName',Yii::app()->createUrl('advert/LoadAdvertFromSay'),
array(
'type'=>'POST',
'data'=> 'js:$("#dataContainer").serialize()',
'success'=>'js:function(string){ alert(string); }'
),array('class'=>'someCssClass',));
?>
この場合、id を持つ要素内のすべての入力型要素dataContainer
が送信され、$_POST 経由でアクセスできます。
明らかに、JS はより複雑になる可能性があります。特定の要素から値を取得し、独自のオブジェクトを作成できます。たとえば、次のようになります。
'data' => 'js:{"field1": $("#input1").val(), "pageTitle": $("title").text() }'
次に、コントローラーで$_POST["field1"]
andにアクセスできますが、通常はCHttpRequest::getParam()$_POST["pageTitle"]
を介してアイテムにアクセスする傾向があります。これにより、POST または GET 値を取得できます。CHttpRequest::getParam('field1')
于 2012-12-12T23:12:43.600 に答える