Autore Topic: RISOLTO : Javascript in articolo joomla  (Letto 128 volte)

Offline fabiosge

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
RISOLTO : Javascript in articolo joomla
« il: 21 Apr 2017, 10:52:18 »

Buongiorno a tutti,
provo a sottoporre il mio problema nella speranza di gentile aiuto.
Il mio articolo joomla carica un javascript esterno mediante il seguente codice inserito nell'articolo con un editor:

Codice: [Seleziona]
<?php
$document 
JFactory::getDocument();
$document->addScript('offertamin.js');
?>


Lo script il seguente:

Codice: [Seleziona]
function calcoffertamin(){
var basepa = document.inserisci.getElementById("basepa");
var offertaminima = (basepa * 10);
document.inserisci.offertamin.value = offertaminima;
alert(offertaminima);
alert(basepa);
}
function stopCalc(){
clearInterval(interval);
}

lo scopo quello di prelevare da un campo input un valore, farne il 75% e restituire il risultato in un altro campo. Molto semplice.
Il problema nonostante i numerosi tentativi fatti, il valore della variabile "basepa" sempre null.
La cosa pare sia dovuta al fatto che lo script viene caricato quanto il campo input con id"basepa" non esiste ancora. Non so per come fare a variare questa condizione, dal momento che in qualunque punto io vada ad inserire il codice che richiama lo script il rissultato sempre lo stesso.

Ringrazio anticipatamente per qualsiasi suggerimento.
ciao
« Ultima modifica: 24 Apr 2017, 12:51:01 da fabiosge »

Offline giovi

  • Instancabile
  • ******
  • Post: 9761
  • Sesso: Maschio
    • Mostra profilo
    • Simple
Re:Javascript in articolo joomla
« Risposta #1 il: 21 Apr 2017, 17:34:38 »
Codice: [Seleziona]
document.inserisci.getElementById("basepa");??

Da dove devi prendere questo valore?
Che ti costa? Se ti ho aiutato, aiutami anche tu votando Simple sulla Joomla! Extension Directory

Offline fabiosge

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Re:Javascript in articolo joomla
« Risposta #2 il: 23 Apr 2017, 12:20:52 »



Ciao giovi
grazie per la risposta.


Codice: [Seleziona]

<?php
$document 
JFactory::getDocument();
$document->addScript('offertamin.js');
?>

 
<table>


<!-- stampo a video la tabella per l'inserimento -->


<form name="inserisci" form action="#" method="post">


<tr><td>CODICE ASTA </td><td>A<input name="codiceasta" size="15" type="number" /></td></tr>
<tr><td>INDIRIZZO </td><td><input name="indirizzo" size="40" type="text" /></td></tr>
<tr><td>CITTA' </td><td><input name="citta" type="text" value="Genova" /></td></tr>
<tr><td>CARATTERISTICHE </td><td><textarea name="caratteristichesintetiche" rows="5" cols="40" ></textarea></tr>
<tr><td>RIVENDITA </td><td><input name="rivendita" type="number" /></td></tr>
<tr><td>SUPERFICIE </td><td><input name="superficie" size="10" type="number" /></td></tr>
<tr><td>PERIZIA </td><td><input name="perizia" type="number" /></td></tr>
<tr><td>DATA P.A.</td><td><input name="datapa" type="date" /></td></tr>
<tr><td>BASE P.A. </td><td><input name="basepa" id="basepa" type="number" onclick=calcoffertamin(); /></td></tr>
<tr><td>OFFERTA MIN. </td><td><input name="offertamin" type="number" id="offertamin" onclick=calcoffertamin(); readonly/></td></tr>
<tr><td>NOTE </td><td><textarea name="note" rows="5" cols="40" ></textarea></tr>
<tr><td>RIFERIMENTI </td><td><textarea name="riferimenti" rows="5" cols="40" ></textarea></tr>
<tr><td>URL </td><td><input name="url" type="text" size="40" /></td></tr>
<tr><td>URL DOC </td><td><input name="cartella_doc" type="text" size="40" /></td></tr>


</table>
<INPUT TYPE="submit" name="salva" value="salva">
</form>




nella stessa pagine dove ho messo le righe che richiamano lo script c' il form che segue. La pagina poi continua con altre cose..

Offline giovi

  • Instancabile
  • ******
  • Post: 9761
  • Sesso: Maschio
    • Mostra profilo
    • Simple
Re:Javascript in articolo joomla
« Risposta #3 il: 23 Apr 2017, 22:09:27 »
  • hai invertito l'apertura del tag table e form (li chiudi nel senso inverso e cos sono semanticamente scorretti: devi aprire prima form e poi table)
  • basepa un riferimento all'oggetto input e non al suo valore, quindi non puoi moltiplicarlo per 10 prima di aver preso il suo *.value!
  • sei in joomla, usa jquery!
  • dentro il tag form c' un attributo di nome "form" inatteso (??)
  • se proprio vuoi usare js nativo usa solo document.getElementById( "..." ) non serve indicare il conenitore, l'id di un elemento univoco
  • fuori da joomla questa cosa ti funziona?
Che ti costa? Se ti ho aiutato, aiutami anche tu votando Simple sulla Joomla! Extension Directory

Offline fabiosge

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Re:Javascript in articolo joomla
« Risposta #4 il: 24 Apr 2017, 12:50:23 »
  • hai invertito l'apertura del tag table e form (li chiudi nel senso inverso e cos sono semanticamente scorretti: devi aprire prima form e poi table)
  • basepa un riferimento all'oggetto input e non al suo valore, quindi non puoi moltiplicarlo per 10 prima di aver preso il suo *.value!
  • sei in joomla, usa jquery!
  • dentro il tag form c' un attributo di nome "form" inatteso (??)
  • se proprio vuoi usare js nativo usa solo document.getElementById( "..." ) non serve indicare il conenitore, l'id di un elemento univoco
  • fuori da joomla questa cosa ti funziona?


Intanto grazie molte in quanto ora funziona.
Ecco cos'ho fatto:


- ho invertito i tag form e table come mi hai indicato;
- prendo il value con
Codice: [Seleziona]
var basepa = document.getElementById("basepa").value;
- ho tolto il riferimento al contenitore dalla riga di cui sopra;
- fuori da joomla non l'ho provato;


dopo averlo visto funzionare  ho aggiunto un evento onchange al campo di input che cambia richiamando stopCalc().


Grazie ancora!
Fabio












Offline giovi

  • Instancabile
  • ******
  • Post: 9761
  • Sesso: Maschio
    • Mostra profilo
    • Simple
Re:RISOLTO : Javascript in articolo joomla
« Risposta #5 il: 24 Apr 2017, 21:26:48 »
Di niente, la prossima volta ricordati che questa l'earea del forum dedicata a Joomla! 3, magari posta nell'area sviluppo  ;)
Che ti costa? Se ti ho aiutato, aiutami anche tu votando Simple sulla Joomla! Extension Directory

 

Torna su