jQuery Dialog postato il 30/11/2011 18:49:51 nel forum programmazione, gdrcd, open source, hosting
Buonasera popolo di GDR Online!
Dunque, dunque. Leggendo tra i vari topic qui in programmazione ho visto tanto parlare di "Jquery" e ho pensato bene di vedere un pò di cosa tratta, come funziona e via dicendo. Premetto che, da ignorante, o meglio da persona che si approccia per la prima volta a questo tipo di "codice" lo trovo piuttosto sintetico il che è un bene soprattutto se si sviluppano cose "grosse". Ma vi spiego cosa cerco di fare.
Ho smanettato con qualche plugin come gli accordion e le tabs, e proprio ora (anzi da questo pomeriggio) mi dedico alle finestre Dialogo quelle che permettono di selezionare gli elementi sottostanti alla finestra.
Come per tutto ho linkato la libreria e i css.
Ma cosa voglio fare?
Vorrei provare a far aprire dentro la finestra dialogo (che si aprirà con un click) una pagina già esistente in questo caso di nome provapagina.php
Cosa ho fatto dopo aver linkato la libreria e il css?
Pagine → 1 2
30/11/2011 20:11:04 e modificato da pistacchio il 30/11/2011 20:12:53
ciao,
prima di invocare
30/11/2011 20:16:22 e modificato da leoblacksoul il 30/11/2011 20:19:55
Ciao!
Allora, quello che hai fatto non funziona perchè probabilmente il plugin dialog sovrascrive il comportamento onClick del tag a. E comunque non funzionerebbe perchè dialog non interferisce con i tag a; cosa succederebbe se uno usasse il plugin dialog senza volere che gli intercettasse tutti gli a? Non potrebbe disabilitarlo. Al contrario invece abilitare la cosa è piuttosto semplice.
Devi usare le funzioni Ajax, perchè quello che stai cercando di fare è caricare in un secondo momento contenuto dentro alla pagina che già hai. Ajax è fatto proprio per questo.
Quello che devi fare è leggerti come si usa la funzione .load() di jQuery http://api.jquery.com/load/
Questa funzione carica una pagina automaticamente dentro a un div che gli specifichi.
Stai però attenta che la pagina che vuoi includere NON deve avere al suo interno i tag <html><head><body> etc, deve contenere solo ciò che sarebbe accettato all'interno del <div> in cui vuoi caricare il contenuto.
Questa funzione la puoi usare dentro all'evento dialogopen che il plugin dialog ti mette a disposizione: http://jqueryui.com/demos/dialog/#event-open
Facci sapere se ti serve che venga spiegato in maggiore dettaglio
EDIT: il metodo suggerito da pistacchio va anche bene, ma può essere usato solo ed esclusivamente se nella pagina esiste un solo link che carica cose dentro al dialog. Se invece il dialog può avere contenuti diversi in base al link che usi allora ci vuole quello che ti ho detto io, usando l'evento dialogopen
30/11/2011 20:29:07 e modificato da original_doll il 30/11/2011 20:36:45
Che sciocca! In effetti si ci poteva anche arrivare =)
Ma adesso mi sorgono un paio di dubbi:
Se nella pagina provapagina.php c'è un altro link che va aperto in una nuova finestra dialogo basta che inserito l'id "opener" anche a quel link?
Secondo dubbio: Se invece devo far aprire quel link nella stessa finestra dialogo devo inserire qualcosa, qualche opzione particolare?
EDIT: ho risposto prima di leggere leo, un attimo che leggo eh u.u
@Leo: Allora, diciamo che non ho capito proprio benissimo. Ti spiego la mia situazione. In pratica in questa pagina non ho solo un link, ce ne sono tre, dunque dovrei far corrispondere al click sul pulsante "prova" l'apertura di "paginaprova.php", al click sul pulsante "ciao" la pagina "ciao.php" e al click sul pulsante "hello" la pagina "hello.php"
Ora, non ho ben capito la questione dell'evento opendialog. L'evento opendialog permette di fare ciò che dovrei fare io?
30/11/2011 21:07:48 e modificato da cicciokr il 30/11/2011 21:10:42
30/11/2011 21:14:01 e modificato da pistacchio il 30/11/2011 21:20:03
Ciao mia cara,
ti avevo già scritto una risposta molto carina e dolce, come vuole la mia indole, ma hai avuto la buona idea di sollecitare la mia attenzione tramite un messaggio. Essendo una persona molto curiosa, ho fatto click sulla relativa iconcina divenuta rossa per l'occasione e ho perso quello che stavo scrivendo.
Nel contempo ho perso anche la voglia di riscriverlo, quindi ecco in soldoni cosa puoi provare a fare:
30/11/2011 21:40:20 e modificato da leoblacksoul il 30/11/2011 21:41:58
Stavo pensando più a una cosa così.
Scusa se non ti scrivo l'interno della callback di open ma dovrei esplorare gli elementi event e ui, non mi ricordo il loro contenuto a memoria. (per esplorarlo tu puoi usare FireBug su firefox, chiamando la funzione console.log(oggetto) ti viene stampato il contenuto dell'oggetto nella console
30/11/2011 21:52:51 e modificato da pistacchio il 30/11/2011 22:00:24
Ciao,
gli iframe non sono deprecati. Eccoli nelle specifiche dell'ultima versione di Html (la 5):
http://www.w3.org/TR/html5/the-iframe-element.html#the-iframe-element
Ecco invece la lista degli elementi deprecati (fra cui figurano i frameset):
http://www.html-5.com/changes/deprecated/index.html
E' probabile che lei non stia usando html5, è quindi probabile che nel doctype da lei scelto non siano deprecati neanche i frame (e certamente non lo sono gli iframe che non sono mai stati deprecati da w3).
Il loro uso errato (o abuso) porta alle stesse aberrazioni delle tabelle per il layout, ma hanno il loro posto. Uno dei loro posti naturali è aiutare una persona che ha già difficoltà con il mostrare una finestra modale senza dover introdurre ulteriore complessità con delle chiamate asincrone (come hai fatto giustamente notare relativamente al load()) e senza farle modificare tre pagine che ha già pronte. Una cosa per volta :-)
Il ragù era ottimo, l'abbiamo fatto con i bucatini!
30/11/2011 22:00:27
In effetti ai ragione, mi son confuso con i frame "normali".
Comunque io uso XHTML1.0 Strict
Non darmi del lei >.<
30/11/2011 22:05:25
lei = original_doll ;-)
01/12/2011 01:05:13 e modificato da original_doll il 01/12/2011 01:21:16
Allora, io ho provato, il problema è che non mi fa funzionare i link dentro la finestra dialogo.
Quindi succede che: apro la finestra dialogo cliccando sul pulsante "prova", dentro la pagina ci sono 5 link diversi che dovrei far aprire dentro la finestra dialogo (uno alla volta) ma cliccando su questi link non me li apre nè nel cosiddetto main nè nella finestra dialogo. Se invece tolgo la class, mi apre i link nel "main".
Qual'è l'errore? >.<
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
World of Warship: Aggiornamento 13.11: anteprima
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
I dati del generatore di rank sono stati aggiornati!
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
aik ha aperto una nuova discussione: Parere su BrowserGame
eXtremelot: La Bussola dei Cartografi di Lot
Dallas Black Gold: [Trama] JFK Memorial
Hero Wars: Artefatti dei Titani!
Game of Thrones → Pronto a diventare il Signore dei Sette Regni? Guida la tua grande casata in epiche battaglie PvP ed esplora il mondo di Westeros!
bother ha recensito Never Have I Ever: Mysteries of Laconia Bay
Games of Thrones Winter is Coming: #giveaways codice regalo! 🥳
Enlisted: Migliorare e ottimizzare le ombre
Road to Hamartia: CACCIA: Sarà uno o tre?
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
Jooke - Presentazione del portale Jooke dedicato alle cronache Play by Email
Progetto Legalità - Il Progetto Educazione alla Legalità nei Gdr Online Italiani!
Oroscopo 2019 - L'oroscopo 2019 dei vostri alter-ego nei giochi di ruolo online!
Asce e Mazze - Breve manuale sull'utilizzo di asce e mazze nei giochi di ruolo da leggere se utilizzate queste armi distruttive!
New Black Gold - Intervista al gestore di New Black Gold, il play by chat cyberpunk!
Tim Burton - Tesi di Laurea dal titolo "La morte malinconica di Tim Burton"