PDA

View Full Version : [JAVASCRIPT] - Help come simulare click su pulsante??


alez1893
20-08-2008, 21:11
beh dal titolo avrete capito ben poco...

spiegandolo meglio e spero in italiano comprensibile :D

ho un timer di 60 secondi (fatto in js), che corre parallelo a un timer identico su server (in php), e una pagina html con una tabella e altra roba, più un pulsante aggiorna in basso, che col click del mouse oltre ad aggiornare la pagina manda in post dell'altra roba. Dato che la variabile del tempo in php se non riaggiorno la pagina col pulsante aggiorna non si aggiorna, e dato che il timer che scorre da 60 a 0 è in js, vorrei che nel momento in cui arriva a 0 "cliccasse" in automatico il pulsante aggiorna. è possibile una cosa del genere? Credo sia solo 1 richiesta http al server alla fine..

Qualcuno può aiutarmi??

avastreg
21-08-2008, 08:42
riesci a postare un po' di codice per chiarirci le idee?? il button è un submit di un form che ricarica la stessa pagina?

usi un qualche framework? alla lontana, dalla tua richiesta, basterebbe una chiamata ajax (che con un qualche framework è molto più facile da buttar giù)

alez1893
21-08-2008, 10:16
riesci a postare un po' di codice per chiarirci le idee?? il button è un submit di un form che ricarica la stessa pagina?

usi un qualche framework? alla lontana, dalla tua richiesta, basterebbe una chiamata ajax (che con un qualche framework è molto più facile da buttar giù)

il button è un submit di un form, che richiama la stessa pagina con degli hidden con vari valori. non uso frame. Il codice è sull'altro pc appena posso ne posto un po, grazie per l'aiuto intanto.

avastreg
21-08-2008, 10:47
il button è un submit di un form, che richiama la stessa pagina con degli hidden con vari valori. non uso frame. Il codice è sull'altro pc appena posso ne posto un po, grazie per l'aiuto intanto.

bene.. allora, come primo tentativo (alla buona) potresti tentare di "submittare" il form direttamente da javascript, una volta che il timer è scaduto.

Per far ciò dovresti riuscire a recuperare da javascript il riferimento DOM del form per poi lanciare il comando submit().

Per maggiori informazioni guarda qui (http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml) ad esempio. A me quei comandi su elementi DOM html un po' più complessi tipo il form non han sempre funzionato benissimo, ma un tentativo si può fare.

Altrimenti passiamo a qualcosa di più contorto.

vladix
21-08-2008, 12:45
dacci un occhiata qui (http://grizzlyweb.com/webmaster/javascripts/refresh.asp) , ma e ovvio che se riaggiorni la pagina , ti perdi tutta i valori presenti in pagina (a meno che nn fai il submit del form , e ricarichi la pagina con (anche) i valori precedenti ) ,
ma se ho capito bene a te serve caricare roba dal server in modo asincrono ( cioe senza riaggiornare la pagina ) quindi io direi di usare ajax (http://javascript.html.it/guide/leggi/95/guida-ajax/)

alez1893
21-08-2008, 20:05
intanto grazie per l'aiuto.
allora sicuramente non mi servono meta tag oppure il classico refresh da js con settimeout o setinterval, questo perchè nel refresh della pagina perderei i $_POST e (già provato) la scacchiera e tutto il resto (è un forza 4 on-line) non si vedono più. col tasto aggiorna che di fatto è un form con submit invece funziona.

avastreg grazie per l'aiuto, mi diresti come potrei fare a submittare il secondo form? io se uso document.forms[x] ecc dovrei avere 2 form, quello di trasferimento mossa che è il primo e quello di aggiornamento che è il secondo. come faccio? cose del tipo document.forms[1].submit()?

così evito di usare ajax, mi piacerebbe usarlo per il refresh automatico della scacchiera una volta effettuata la mossa ma è lunga da far funzionare e non ho troppo tempo per farlo...

alez1893
21-08-2008, 20:33
ok ora sono nella superpartizione kubuntu :D
strano ma vero, alla prima funziona qualcosa, roba rara. :D

allo scadere del timer è bastato un document.forms[1].submit();
ed è andato tutto come volevo. L'unica è che se qualcuno disabilita js arrivato il timer a 0 potrebbe barare ma chissene, sicuramente i prof non vorranno giocarci o farci tornei a soldi..quindi...:D

grazie ancora per l'aiuto, se avete cmq altre idee magari per l'aggiornamento tramite ajax una volta effettuata una mossa ve ne sarò grato :D

avastreg
21-08-2008, 22:32
ok ora sono nella superpartizione kubuntu :D
strano ma vero, alla prima funziona qualcosa, roba rara. :D

allo scadere del timer è bastato un document.forms[1].submit();
ed è andato tutto come volevo. L'unica è che se qualcuno disabilita js arrivato il timer a 0 potrebbe barare ma chissene, sicuramente i prof non vorranno giocarci o farci tornei a soldi..quindi...:D

grazie ancora per l'aiuto, se avete cmq altre idee magari per l'aggiornamento tramite ajax una volta effettuata una mossa ve ne sarò grato :D

ottimo mi fa piacere che i suggerimenti ti siano stati utili :D

flx2000
13-02-2009, 11:53
Sicuramente in AJAX avresti molto più controllo su tutto il sistema di gioco, ma è chiaro che usare AJAX ha senso solo se non rende tutto troppo complesso rispetto ai suoi benefici! :)

alez1893
14-02-2009, 00:17
Sicuramente in AJAX avresti molto più controllo su tutto il sistema di gioco, ma è chiaro che usare AJAX ha senso solo se non rende tutto troppo complesso rispetto ai suoi benefici! :)

:-) infatti alla fine ho usato ajax per il refresh della chat di gioco e delle mosse, la cosa bella e che nessuno ha ancora capito è che con explorer c'era un errore sconosciuto runtime per cui la chat refreshava giusta, la tabella di gioco no...si doveva manualmente schiacciare il pulsantino aggiorna...ovviamente il tutto con opera, firefox ecc funzionava perfettamente...

pure il prof dopo aver controllato il codice x una settimana mi ha detto che non capisce proprio l'origine del problema...