Ajax

Witam, jestem nowym uzytkownikiem yii tak jakby co ;)

Moj problem polega na tym ze chcialbym aby form zmienial sie w zaleznosci od wybranego systemu po kliknieciu w obrazek.

Normalnie kod ajax wyglada tak:




    $(document).ready(function() {

        $(".getpaysystem").click(function() {

            var paydata = $(this).attr("id");                   

           

 $.ajax(

    {

        url: 'funkcja.php',

        type:'POST',

        data: {paydata: paydata},

        datatype: 'html',

        success: function(data)

        {

            jQuery('#Count').html(data);

        }

    });

            })

            

        });

    

czyli gdy klikne w obrazek ktory ma class="getpaysystem" to ajax pobierze id tego obrazka i wywola funkcje

teraz tak

plik components/payform.php







        public function formone($banerid,$description,$amount,$currency){

echo CHtml::beginForm(EgoPaySci::EGOPAY_PAYMENT_URL, 'post');

echo CHtml::hiddenField('hash',Yii::app()->egopay->createBill($banerid,$description,$amount,$currency));

echo CHtml::submitButton('pay',array(

    'name'=>'paybutton',

));

echo CHtml::endForm();

    }




plik view/pay.php





            echo CHtml::link(CHtml::image('/images/3.png'), '#',array(

                'id'=>'formone',

                'class'=>'getpaysystem',

            ));



normalnie gdy w pliku view uzyje kodu





echo Yii::app()->payform->formone($banerid,$description,$amount,$currency);


albo 




echo Yii::app()->payform->formtwo($banerid,$description,$amount,$currency);



to wtedy wyswietli mi poprawnie ale chcialbym uzyskac efekt taki ze po kliku w obrazek (chtml::link…) zmieniala sie ta funkcja w view z formone na formtwo itd. :)

Z gory dzieki za odpowiedzi :)

Myślę, że powinieneś tego: wizard-behavior spróbować ;)

Czasem nie warto wymyślać koła na nowo.

Dzieki, na pewno sprawdze :) ale jednak jak chcialbym sam zrobic w jakis najprostszy sposob, da rade ? :)

Myślę, że to podejście do tematu Ajaxa pomoże Ci zrozumieć renderowanie widoków częściowych. Myślę, że właśnie ten efekt chcesz uzyskać.