CHtml::linkButton for POSTing form elements.

Hi Everyone,

I’m trying to put a series of links on a view that post the form elements to a couple of existing controllers (different to the controller of the view these links are on.)

After reading some posts on the forum I thought CHtml::linkButton would do just that but.

In my view I have :




echo CHtml::linkButton('Submit form', array('submit' => array('nichandles/viewnichandle')));



Which renders:




<a href="#" id="yt0">Submit form</a>



in the form view HTML

and also the following javascript




<script type="text/javascript">

/*<![CDATA[*/

jQuery(function($) {

jQuery('body').delegate('#yt0','click',function(){

	jQuery.yii.submitForm(this,'/index.php/nichandles/viewnichandle',{});

	return false;

});

$('#DomainDetailsForm').yiiactiveform({'attributes':[{'inputID':'Domains_Details_domainlist','errorID':'Domains_Details_domainlist_em_','model':'Domains_Details','name':'domainlist'},{'inputID':'Domains_Details_holder','errorID':'Domains_Details_holder_em_','model':'Domains_Details','name':'holder'},{'inputID':'Domains_Details_applicant','errorID':'Domains_Details_applicant_em_','model':'Domains_Details','name':'applicant'},{'inputID':'Domains_Details_registration_period','errorID':'Domains_Details_registration_period_em_','model':'Domains_Details','name':'registration_period'},{'inputID':'Domains_Details_remarks','errorID':'Domains_Details_remarks_em_','model':'Domains_Details','name':'remarks'},{'inputID':'Domains_Details_admin_contact_nic_1','errorID':'Domains_Details_admin_contact_nic_1_em_','model':'Domains_Details','name':'admin_contact_nic_1'},{'inputID':'Domains_Details_admin_contact_nic_2','errorID':'Domains_Details_admin_contact_nic_2_em_','model':'Domains_Details','name':'admin_contact_nic_2'},{'inputID':'Domains_Details_tech_contact','errorID':'Domains_Details_tech_contact_em_','model':'Domains_Details','name':'tech_contact'},{'inputID':'Domains_Details_billing_contact','errorID':'Domains_Details_billing_contact_em_','model':'Domains_Details','name':'billing_contact'},{'inputID':'Domains_Details_nameserver_name_1','errorID':'Domains_Details_nameserver_name_1_em_','model':'Domains_Details','name':'nameserver_name_1'},{'inputID':'Domains_Details_nameserver_addr_1','errorID':'Domains_Details_nameserver_addr_1_em_','model':'Domains_Details','name':'nameserver_addr_1'},{'inputID':'Domains_Details_nameserver_name_2','errorID':'Domains_Details_nameserver_name_2_em_','model':'Domains_Details','name':'nameserver_name_2'},{'inputID':'Domains_Details_nameserver_addr_2','errorID':'Domains_Details_nameserver_addr_2_em_','model':'Domains_Details','name':'nameserver_addr_2'},{'inputID':'Domains_Details_nameserver_name_3','errorID':'Domains_Details_nameserver_name_3_em_','model':'Domains_Details','name':'nameserver_name_3'},{'inputID':'Domains_Details_nameserver_addr_3','errorID':'Domains_Details_nameserver_addr_3_em_','model':'Domains_Details','name':'nameserver_addr_3'},{'inputID':'Domains_Details_accept_tnc','errorID':'Domains_Details_accept_tnc_em_','model':'Domains_Details','name':'accept_tnc'}]});

});

/*]]>*/

</script>



However when I click on the rendered Submit form link in the view nothing happens, and nothing is rendered in the application.log

I don’t suppose someone could give me some pointers as to how to debug this? The nichandles/viewnichandle controller + action do exist, but it seems the code does not go there for some reason.

Any tips would be appreciated. Am I calling the CHtml::linkButton correctly?

Thanks!

Rob.

(I didn’t mention this in the earlier message, but it’s a CActiveForm where I’m adding in this code. I don’t know if this makes a difference?)

If anyone could give me a working example of using CHtml::linkButton I’d appreciate it - I’ve tried every variation I can think of for the correct syntax to call this. I’ve used examples on the forum, and the examples listed the yii framework examples - but in each case nothing happens when I click on one of the rendered links (which is rendered on a working form).

As a result, I’m inclined to believe it’s probably something to do with the state the application is in, but would it be correct to say that within an CActiveForm a code snippet like:




echo CHtml::linkButton('Submit Form', array(

                                'submit'=>array('nichandles/viewnichandle','id'=>7),

                        )); 



Should take the current form, and post the form values to the nichandle controller, viewnichandle action, along with an extra parameter, id, which has the value of 7?

If not, why not? Is this the correct syntax for a call like this?

Thanks everyone, this is driving me nuts!