Back to top

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

Offline fabiosge

  • Nuovo arrivato
  • *
  • Post: 6
    • 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: 9835
  • Sesso: Maschio
    • Mostra profilo
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?

Offline fabiosge

  • Nuovo arrivato
  • *
  • Post: 6
    • 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: 9835
  • Sesso: Maschio
    • Mostra profilo
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?

Offline fabiosge

  • Nuovo arrivato
  • *
  • Post: 6
    • 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: 9835
  • Sesso: Maschio
    • Mostra profilo
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  ;)

 



Web Design Bolzano Kreatif