Back to top

Autore Topic: [Risolto] Chronoforms e javascript  (Letto 6896 volte)

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
[Risolto] Chronoforms e javascript
« il: 26 Dic 2010, 15:35:48 »
[Risolto]

Salve e buon feste natalizie e post natalizie a tutti.

Sono nuova del forum e non so se ho indovinato a postare il problema che da stamattina mi assilla.

sto preparando un codice che controlla un incremento di un contatore tramite l'orologio del server e tramite javascript prelevo i dati e li inserisco dentro un form di chronoforms, le ho provate tutte e tra l'altro c'è stato un momento dello sviluppo del mio script che tutto sembrava funzionare a meraviglia, in locale infatti funziona regolarmente ma come lo pubblico in joomla non mi compare nulla  il codice è questo senza i tag per motivi di chronoforms

codice javascript inserito nel code javascript di chronoforms:
Codice: [Seleziona]
var Timer;
var miotimer;
var miosec;
var contatore;
var lavoranti;
contatore=0;
function mytime() {
var x=new Date();
h=x.getHours();
m=x.getMinutes();
s=x.getSeconds();
if(s<=9) s="0"+s;
if(m<=9) m="0"+m;
if(h<=9) h="0"+h;
miotimer=s;
time=h+":"+m+":"+s;
if(miotimer >=1) contatore++;

document.nomeform.lavoranti.value=contatore
document.nomeform.incremento.value=contatore;

Timer = setTimeout("mytime()",1000);  }



invece questo è il codice inserito nell'area Html:

Codice: [Seleziona]
<body onload="mytime()">
<center>
<H3>Reclutamento Lavoranti</H3>

<form name="nomeform">
   <input id="hidden_7" name="lavoranti" type="hidden" />
   <input type="text" size="7" name="incremento"/>
   <input value="recluta" name="button_4" type="submit" />
 
</form>
</center>

</body>

Il codice funziona nella pagina html in fase di test ma come lo inserisco in chronoforms smette di funzionare. Un' altra volta invece aveva funzionato ma non ho ben capito la motivazione, ho solo cambiato i campi di input sostituendo i nomi dei campi e del form.

Per cortesia qualcuno puo' aiutarmi , se ci sei tu vales a rispondermi , sei il mio guru e ho seguito tutti i tuoi tutorial, scusami se probabilmente avrai gia' spiegato il problema ma sinceramente non riesco a trovarlo.

grazie in anticipo e spero che sia risolvibile, premetto che sono un po' a digiuno in javascript e ho ripreso da poco a ristudiarlo.

Un caloroso saluto

Angy
« Ultima modifica: 27 Dic 2010, 23:50:02 da angykristal »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #1 il: 27 Dic 2010, 00:52:10 »
In form HTML non puoi usare il tag body, li siamo già dentro i tag form creati da chronoforms, anche i tag form che stai usando li non vanno bene creano una nidificazione non possibile.

In quella sezione puoi usare solo i nomi dei campi del form.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #2 il: 27 Dic 2010, 01:03:30 »
 :-[

Grazie Vales della risposta , ho provato a togliere i tag come dice la guida e anche il boss del forum di chronoforms ma non riesco a mettere dentro al campo il valore salvato con

document.nomeform.nomecampo.value=valoredainserire.

A dire la verita' le sto provando tutte e non so come mai una volta mettendo il body per richiamare la funzione in javascript ha funzionato.

Poi ho sostituito alcuni nomi mantenendo il codice e non ha piu' funzionato.

In pratica ho provato a mettere un bottone che mi dovrebbe abilitare la funzione ma non riesce a richiamarla o inserire il valore richiesto

ho inserito questo:

Codice: [Seleziona]
<input type="text" label="miotimer" name="timerrino" size="7">
<input type=button value="Start" onClick="if(!Timer) mytime();">
<input type=button value="Stop" onClick="if(Timer) clearTimeout(Timer); Timer=null;">
cambiando i nomi del campo

potresti vales per favore dirmi dove sbaglio ? eppure mi sembra di avere fatto bene. :-[

ho provato anche a caricare la funzione tramite un

window.onload= mytime();

ma niente , il campo rimane bianco

Grazie in anticipo  :)

ciao da Angy  :)

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #3 il: 27 Dic 2010, 01:13:12 »
Alcune cose.

button va fra virgolette.

Creerei un funzione javascript da attivare con onclick e controllerei dal javascript le altre azioni da compiere.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #4 il: 27 Dic 2010, 01:24:46 »
Ok  :)

fatto , la funzione è stata creata ( mytime) e viene abilitata da onclick dentro al form , non potendo usare il body o i tag script all'interno del Html non saprei come fare. Forse utilizzando il div e richiamando un oggetto identificativo.

ma anche cosi' ho provato ma non mi riesce a interagire con html e javascript.

rimane sempre inattivo , sembra che il java non riesca a interagire. Riprovero' nuovamente ma finora senza successo, sembrava piu' semplice  ::) a quanto pare non lo è  :o dovro' studiare ancora un pochino.

Grazie dei consigli Vales , al momento non vedo soluzioni possibili, forse anche per la stanchezza.

Ciao da Angy

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #5 il: 27 Dic 2010, 01:31:03 »
Se usi la versione di chronoforms con la patch per la validazione W3C, disponibile qui nel download, non puoi usare il nome del form in javascript ma devi usare l'id che ha valore uguale al nome del form.

Comunque anch'io ora devo staccare ci sentiamo domani con calma.

Mi dimenticavo benvenuta nella comunità italiana di Joomla angykristal. ;D
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #6 il: 27 Dic 2010, 01:36:21 »
Grazie Vales  ;D contentissima di averti conosciuto,
Sono una tua grande fans e ho letto tutti i tuoi tutorial e mi sono stati tutti molto utili.

é pero' la prima volta che uso javascript con chronoforms e mi dispiace di averti disturbato a quest'ora.

Grazie infinite e sono molto contenta di far parte di questo bellissimo e utilissimo forum  ;D ;)

Ciao e buonanotte a domani

Angy

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #7 il: 27 Dic 2010, 11:26:30 »
buongiorno Vales e un salutone a tutti del forum e non.  :)

Anche stamattina sono alle prese con il mio codice e ho scaricato la patch per il W3C ,
finalmente ho verificato che la funzione funziona. :o ;D
ho fatto un piccolo passo avanti , almeno per inserire un dato in javascript nel form tramite l'id pero' ancora stranamente non riesco a far visualizzare il miei dati salvati con

document.mioform.miocampo.value=mieidati

dove mioform è il nome del form ma come ho ben capito in javascript andrebbe messo il valore identificativo del form ma non so qual'è .


il mio form si chiama reclutamento

per cui dovrebbe essere

document.reclutamento.nomemiocampo.valu e=miovalore

almeno in questo modo per le prime volte anche se con un bottone onclick chiamato nel form mi risultava un valore senza incremento automatico, cioe' dovevo ripetere il click sul bottone , gia' era qualcosa di positivo. Ma a me serve che la funzione rimanga attiva.

Se il tag <form name="reclutamento> non si puo' utilizzare in chronoforms la chiamata del mio codice dovrebbe fare riferimento al nome del form di chronoforms, ma perchè cio' non avviene come dovrebbe essere ?
almeno se è cosi' in chronoforms  :-\ :'(.
L'id ho provato a caricarlo e inserirlo nei div ma senza successo, non so come fare riconoscere il form e credo di avere esaurito le mie idee in merito.

Grazie ancora dell'attenzione , spero che si possa trovare una soluzione, mi dispiacerebbe abbandonare chronoforms magari per una sciocchezza, certo che sarebbe bello ci fosse piu' amicizia tra chronoforms e i tag , vabbè è fatto cosi' e teniamolo cosi' , sono obbligata a utilizzarlo per salvare i dati nel db e non conosco soluzioni migliori al momento , veloce e comprensibile.

Ciao da Angy

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #8 il: 27 Dic 2010, 12:34:41 »
Con la validazione W3C non possiamo dare al form l'attributo nome ma possiamo darli l'attributo id con il nome del form. Quindi anzichè avere

<form nome="nomeform".......   avrai <form id="nomeform"......

in Chronoforms l'id del form automaticamente sarà "ChronoContact_nomeform" per cui in javascript potrai riferirti al valore dei campi con

Codice: [Seleziona]
document.getElementById('ChronoContact_nomeform').nomecampo.value
Detto questo, siccome mi sembra di capire che non ci sono interazioni fra i valori immessi nel form ma solo l'assegnazione ad alcuni campi del tempo calcolato, forse potrebbe essere tutto più semplice utilizzando PHP nel campo Form HTML che assegna hai campi nascosti i valori voluti.

Se mi fai capire l'obiettivo che ti poni forse possiamo fare in modo più semplice.

Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #9 il: 27 Dic 2010, 14:26:48 »
Grazie Vales

in pratica l'obiettivo è quello di incrementare in base al tempo un numero di lavoranti e salvarli nel db per poi utilizzarli nel momento del bisogno con chrono_connectivy.

questi lavoranti incrementano durante un tempo ben preciso in base al livello del villaggio, quindi dopo tramite degli "if" posso incrementare piu' o meno il reclutamento dei lavoranti che andranno a sommarsi con quelli gia' salvati nel db , e questo dovra' valere per altri villaggi e edifici.
Quindi l'obiettivo è prendere un valore che vada da 1 a 20 e poterlo inserire sia nel campo nascosto che in quello visibile, in base a un bottone "recluta" che a sua volta tramite un altro bottone salva il dato nel record del db, tutto questo vorrei sincronizzarlo con l'orologio del server poichè l'incremento sara' accompagnato dallo scandire del tempo , per cui al primo livello del villaggio si potranno avere 10 lavoranti in 2 ore o 3 ore e cosi' via in base alla crescita di livello del villaggio.

Spero di essere stata chiara nel esporre le mie intenzioni , vorrei procedere con javascript ma ho visto che tante cose si possono fare anche in php e forse meglio , infatti ero indecisa tra le due cose e ho scelto il javascript perchè sembrava al momento piu' abbordabile per quello che devo fare, ma penso che hai ragione tu e quasi quasi mi butto su qualcosa in php pero' non vorrei uppare la pagina troppe volte e a dire la verita' ho timore che appesantisca le operazioni lato server , invece il javascript è piu' snello ma sicuramente per certi client potrebbe essere indigesto.

Vediamo insieme quello che possiamo fare, non disdegno del php , anzi , ho qualche script gia' pronto per il conteggio in base al tempo se vuoi lo inserisco qui. Intanto provo come mi hai consigliato tu.

Grazie Vales, quasi quasi  ::) ,se tu fossi interessato al progetto potrei farti una proposta di collaborazione ma forse ne avrai gia' fin sopra i capelli  ::). :D

Ciao da Angy :) ;)

ps: Per me rimani il migliore in assoluto, complimenti.



perfetto aggiungo qui che ho inserito il codice come hai consigliato tu e funziona perfettamente, l'unica cosa che non fa è che con

<body onload="funzione()">

mi caricava la pagina e il valore incrementava automaticamente come un timer senza mai fermarsi .
Invece con il "button" il valore nel campo incrementa solo se schiaccio tutte le volte il pulsante.

Come è possibile fare eppure non dovrebbe dipendere dal onclick ma dalla funzione . Ci riguardo ma direi che siamo a un buon punto, grazie al tuo aiuto.

Angy, riciao  :)

rettifico nuovamente:  modificato il codice anche per l'inserimento del secondo campo, cioe' quello nascosto e ora funziona in modo permanente.
tutto bene ma..... ???  stranamente il valore invece di iniziare da 1 , comincia da 18758 e incrementa sempre dello stesso valore.  forse non avrei dovuto usare lo stesso codice per entrambi i campi ?
non riesco a spiegarmelo, vabbè insisto , intanto ora abbiamo ottenuto l'incremento ed è gia' un ottimo risultato mantenedo il bottone onclick.

riciao da Angy


PERFETTO !!!!!! Ora funziona alla perfezione. sono le 17,40  ;D

tolto window.onload è partito alla grande.

il campo incrementa di 1 senza interruzioni come i secondi e ora posso decidere quando fermarlo mettendoci un "if" e salvarlo a mio piacimento.
se puo' interessare il codice lo posto nel post successivo.
Grazie VALES, ti faro' un monumento, dimmi cosa ne pensi della mia proposta , potrebbe piacerti.

Ciao e un grandissimo Abbraccio da ANgy e un AUgurio sincero di felice anno nuovo, con tutto il cuore ;) :)

ANgy
« Ultima modifica: 27 Dic 2010, 17:53:02 da angykristal »

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #10 il: 27 Dic 2010, 22:02:28 »
 :-[ :-\ Come non detto
tutto funziona ma purtroppo non salva i dati nel db

e mi da questo messaggio dopo l'invio del form :

You are not allowed to access this URL

infatti vado a vedere la tabella dei record ed è vuota

ho ricontrollato tutto ma sembra che non riconosca il nome del form

peccato , puoi avere un'altra soluzione? il codice è questo html:

Codice: [Seleziona]
<div id="reclutament"></div>

<form id="ChronoContact_reclutamento">
<input size="6" title="" id="lavoranti" name="lavoranti" type="text" />
<input value="" id="hidden_1" name="hidden_1" type="hidden" />
<input type="button" value="Start" onClick="if(!Timer) mytime();">
<input type=button value="Stop" onClick="if(Timer) clearTimeout(Timer); Timer=null;">



<div class="form_item">
  <div class="form_element cf_button">
    <input value="recluta" name="button_3" type="submit" />
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</form>




ecco Vales, sbaglio qualcosa? :-[

grazie

ciao da Angy


aggiungo che ho tolto i tag form e funziona lo stesso pero' anche se non mi appare piu' il messaggio di prima , non mi salva lo stesso i dati nel db.

ho riguardato tutto di nuovo, anche i campi sono giusti ma nella tabella non appare nessun record , bohh :-[ :-[ :-[ :-\ :-\ Aiuto Vales, questa mi sa che è una strada in salita, cosa dici che mi convenga fare tutto in php e lasciare stare chronoform ? a questo punto forse mi conviene.
cosa ne pensi ?

grazie Vales

Ciao da Angy  :)

« Ultima modifica: 27 Dic 2010, 23:18:42 da angykristal »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #11 il: 27 Dic 2010, 23:08:30 »
Continui ad usare i tag form, quelli non vanno usati li crea in auto chronoforms.

C'è scritto in modo chiaro all'inizio della finestra From code.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline angykristal

  • Nuovo arrivato
  • *
  • Post: 35
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #12 il: 27 Dic 2010, 23:26:17 »
no i tag form li ho tolti ma ora era un'altra cosa

era perchè avevo messo before email anzichè after ed ora funzia tutto


tonta si' ma fino a un certo punto ehhh?   ;D ;D ;D ;D


RISOLTO !!!!!!!!!!!!!!!!


grazie Vales, dopo varie peripezie ce l'ho fatta  ;D :D ;) ;) ;) :) :)   festeggio con champagne
rettifico ce l'abbiamo fatta
urraaaaaa ;D ;D ;D

« Ultima modifica: 27 Dic 2010, 23:28:40 da angykristal »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e javascript
« Risposta #13 il: 27 Dic 2010, 23:39:28 »
Ottimo. :D

Ricorda di mettere [Risolto] nel primo post.

Auguri anche a te.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

 



Web Design Bolzano Kreatif