it-swarm.dev

Funzione di salvataggio di Joomla con aggiornamento ajax

Vorrei chiamare una funzione controller e successivamente vorrei aggiornare la mia vista con una chiamata Ajax.

Quindi chiamo la mia funzione controller da uno script Ajax usando questo url:

url: "index.php?option=com_mycomponent&task=component.save"

Tutto sembra a posto, ma non riesco ad accedere agli input del mio modulo nel controller.

$jinput = JFactory::getApplication()->input;
$data = $jinput->get('jform', 'default_value', 'filter');

$data rimane vuoto.

Quando chiamo la funzione da un normale pulsante Joomla nel modulo, tutto va bene e tutti i valori del modulo sono disponibili nel controller.

Vorrei chiamare la funzione del mio controller e successivamente vorrei aggiornare la mia vista con una chiamata Ajax.

1
Perino

Penso che potresti voler provarlo in questo modo:

$data  = $this->input->post->get('jform', array(), 'array');
1
Valentin Despa

supponendo che tu stia utilizzando joomla 3, puoi usare jquery per questa funzionalità:

JHtml::_('jquery.framework'); // make sure jquery is loaded
<script type="text/javascript">
jQuery.post('index.php?option=com_mycomponent&task=component.save', 
jQuery( "#yourformid" ).serialize(), function(data, 
statustxt){ jQuery('#resultdiv').html=data; })
</script>

Questo dovrebbe restituire il risultato a un elemento. I documenti per jQuery.post () sono disponibili qui http://api.jquery.com/jquery.post/ . La funzionalità post dovrebbe aggiungere i dati del tuo modulo come post variabili per la lettura di joomla. Per vedere tutte le post variabili in arrivo in php scrivi

print_r($_POST); 
1
jonasfh