Joomla.it Forum
Non solo Joomla... => Sviluppo => : dragoalato1988 24 Sep 2011, 22:40:32
-
salve ragazzi, sto realizzando un componente di studio, e vorrei aggiungere delle operazioni in javascript.
so che si deve lavorare con mootools perche conviene ma ho problemi nel trovare la giusta guida.
il mio problema č questo
vorrei far si che selezionado un valore nella in una <select>, javascript mi vada a scrivere il value in un div. per ora, ma la vera funzione č che deve predere un "id" che si trova nel value della select e mandarlo tramite ajax nel controller e lui gli restituirā dei valori presi dal db.
lo script che uso č questo.
<script language="javascript">
window.addEvent('domready', function() {
var value = $('profilo').options[$('profilo').selectedIndex].getProperty('value');
var ajax = new Ajax('index.php?option=com_prova&controller=prov&task=json&format=raw', {
data:'idprofilo=' + value,
update: $('nomeservizio'),
onRequest: function() {
this.options.update.setHTML("Loading...");
$('prezzoimp').setHTML("Loading...");
},
onComplete: function(text) {
//alert("Complete! " + text);
$('prezzoimp').setHTML(text);
$('prezzoimp').setHTML(value);
},
onFailure: function() {
this.options.update.setHTML("Il profilo non č stato trovato correttamente");
}
});
$('adminForm').addEvent('change', function(event) {
var event = new Event(event).stop();
ajax.request();
});
});
</script>
la parte html e php della view č
<form action="<?php echo JRoute::_( 'index.php?option=com_wisp&controller=users&view=utenti' ); ?>" method="post" name="adminForm" id="adminForm">
<table class="admintable" style="font-size:13px">
<tr>
<td class="key">
<label for="prof">
<?php echo JText::_( 'Profilo tariffario' ); ?>:
</label>
</td>
<td>
<select id="profilo" name="profilo" >
<?php
$k = 0;
for ($i=0, $n=count($this->servform); $i < $n; $i++){
$row =& $this->servform[$i];
echo '<option value="'; echo $row['srvid'];
if($row['srvid'] == $this->user['srvid']){
echo '" selected >'; }else{ echo '" >'; }
echo $row['srvname']; echo "</option>";
$k = 1 - $k;
}
?></select>
</td>
</tr>
<tr>
<td class="key" valign="top">
<label for="Username">
<?php echo JText::_( 'Nome del servizio' ); ?>:
</label>
</td>
<td><div id="nomeservizio"><>
</td>
</tr>
<tr>
<td class="key" valign="top">
<label for="Password">
<?php echo JText::_( 'Costo' ); ?>:
</label>
</td>
<td><div id="prezzoimp"><>
</td>
</tr>
</table>
</form>
secondo me il problema č nello script e precisamente
var value = $('profilo').options[$('profilo').selectedIndex].getProperty('value');
come posso risolvere. grazie a tutti
-
ragazzi sto sbattendo la testa da tutte le parti per capire come fare. non riesco a trovare una guida o tutorial che mi spieghi bene come fare. potete aiutarmi?
-
salve ho risolto il problema. di seguito inserisco il codice corretto
<script language="javascript">
window.addEvent('domready', function() {
//apro l'evento del select box profilo
$('profilo').addEvent('change', function(event) {
var event = new Event(event).stop();
var selection = document.getElementById("profilo").value;
var data = 'idprofilo='+selection;
var ajax = new Ajax('index.php?option=com_prova&controller=billing&task=json&format=raw', {
data:data,
update: $('nomeservizio'),
onRequest: function() {
this.options.update.setHTML("Loading...");
$('prezzoimp').setHTML("Loading...");
},
onComplete: function(text) {
//alert("Complete! " + text);
this.options.update.setHTML(text);
$('prezzoimp').setHTML($('profilo').value);
},
onFailure: function() {
this.options.update.setHTML("Il profilo non č stato trovato correttamente");
}
});
ajax.request();
});
// chiufo la select box profilo
});
</script>