2013-03-18 3 views
1

У меня есть ajaxSubmitButton с beforeSend вариант:ajaxSubmitButton beforeSend добавить ВАР просить

echo CHtml::ajaxSubmitButton('', CHtml::normalizeUrl(array('site/index')), 
    array(
     'dataType'=>'json', 
     'data'=>'js:jQuery(this).parents("form").serialize()', 
     'beforeSend'=>'js:function(data){ 
      // myArr is "good" array for param 
      myData =$.param(myArr); 
      /** SOMETHIG TO DO **/ 
     }',    

    ) 
); 

Так как я могу добавить MyData запрашивать данные и отправить его с запросом пост?

+0

Может Вы (скрытая) поле формы, которая содержит мои данные? –

+0

Да, но оставьте это для последнего решения. И есть большой вопрос: 'jQuery (this) .parents (« form »). Serialize()' сгенерирован перед вызовом 'beforeSend' или после. – Narek

+0

@ IvoRenkema, поскольку я боюсь, что код принимает данные формы перед вызовом 'beforeSend'. – Narek

ответ

3

Это проще, чем я ожидал, просто нужно создать функцию, что возвращает мой Params:

<script type="text/javascript"> 
function getMyData(){ 
    return $.param(myArr); 
} 
</script> 

А затем сцепить его с данными:

echo CHtml::ajaxSubmitButton('', CHtml::normalizeUrl(array('site/index')), 
    array(
     'dataType'=>'json', 
     'data'=>'js:jQuery(this).parents("form").serialize()+"&"+getMyData()', 
     'beforeSend'=>'js:function(data){ 
     }',    

    ) 
); 
Смежные вопросы