Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99

    [Mootools] Problema con pagina caricata

    Salve a tutti. Vi spiego il mio problema con mootools.
    Ho una homepage in html e php dalla quale carico in un div un file php. Questo file php altro non è che un modulo di iscrizione. Il problema giunge quando devo far inviare il modulo usando mootools. In pratica o mi invia il modulo bypassando mootools e quindi caricando la pagina specificata in action della form oppure non succede niente se clicco sul pulsante di submit. Ho provato a mettere il file che carica il js di mootools sia nella homepage che nella pagina caricata e anche in entrambe contemporaneamente inoltre l'altro js che gestisce l'invio ho provato a metterlo come quello di mootools ma niente di fatto. Non ho più idee.

  2. #2
    dubito di poter azzardare una diagnosi, se non posti un url dove possa vedere il sito o un pezzo di codice...
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99
    Ecco il codice.
    Il file index.html ha questo pezzo iniziale di codice dove carico i file di mootools.js
    <html>

    <head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">

    <title><?php echo $cfgsito['titolo']?></title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script type="text/javascript" src="js/mootools-1.2-core.js"></script>
    <script type="text/javascript" src="js/mootools-1.2-more.js"></script>
    <script type="text/javascript" src="js/navigation.js"></script>
    <script type="text/javascript" src="js/md5.js"></script>
    <script type="text/javascript" src="js/pwd_strength.js"></script>

    </head>

    il file iscrizione.php caricato in un div inizia cosi
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1"
    http-equiv="content-type">
    <title></title>
    <meta http-equiv="content-type"
    content="text/html; charset=ISO-8859-1">
    <title>Iscrizione</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script type="text/javascript" src="js/mootools-1.2-core.js"></script>
    <script type="text/javascript" src="js/mootools-1.2-more.js"></script>
    <script type="text/javascript" src="js/iscrizione.js" charset="ISO-8859-1"></script>
    </head>

    io non riesco a capire perché mootools non funzioni in questo caso.

  4. #4
    mi hai postato il codice che non serve: ho bisogno di sapere come carichi il file PHP nel HTML e cosa deve fare la form.
    I DON'T Double Click!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99
    La pagina del form la carico dentro l'html includendo navigation.js dove dentro c'è questo codice:

    function goto(pagina,idlayer)
    {
    metodo = "GET";
    req = new Request(
    {
    urlagina,
    method:metodo,
    onSuccess: function(txt)
    {
    $(idlayer).set('html', txt);
    },
    onFailure: function(txt)
    {
    $(idlayer).set('text', 'Errore generale di caricamento della pagina');
    },
    onRequest: function()
    {
    $(idlayer).set('text', 'Caricamento in corso...');
    }
    });
    req.send();
    }

    la form caricata deve inviare i dati ad uno script php chiamato do_iscrizione.php che semplicemente salva di dati in un database mysql. Il problema è che do_iscrizione.php funziona benissimo soltanto è che mootools che non riesce a vedere gli elementi della pagina in cui c'è il form (che risulta caricato nella pagina html) e quindi non blocca l'eventi submit e non si attiva a mandare lui i dati al file do_iscrizione.php

    Spero di essere stato chiaro e aver fornito le informazioni necessarie.

  6. #6
    sai che è parecchio più pratico se fai così:

    codice:
    function goTo(pagina, id)
    {
       $(id).load(pagina)
    }
    In ogni caso il problema è che il codice JS caricato con AJAX non viene eseguito automaticamente, ti conviene metterlo nella pagina principale o, al limite, fai così:

    codice:
    function goTo(pagina, id)
    {
       $(id).set('load', {evalScripts: true});
       $(id).load(pagina)
    }
    I DON'T Double Click!

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99
    Niente di fatto.
    Ho fatto anche una prova. Ho provato a caricare la pagina iscrizione.php (che è quella che viene caricata dentro la pagina html che ora ho rinominato in index.php poiché ci ho dovuto mettere del codice php anche li) da sola puntando direttamente su quella. Li mootools funziona perfettamente. La stessa pagina se la carico da index.php in un div invece non va. Siccome mi hai detto che non valutava forse il codice javascript ho fatto un'altra prova. Tra i tag body e head ho provato a mettere del codice javascript che però invece mi valuta perfettamente. E' proprio mootools che fa il suo dovere quando viene caricato cosi...boh sono disperato.

  8. #8
    comunque, nella pagina iscrizione devi mettere SOLO la parte di HTML che viene messa nel div, non html ed head.

    per dire, se carichi con set('html', text) del testo html che contiene:

    <html>
    <head>
    //script vari
    </head>
    <body>


    Testo HTML</p>
    </body>
    </html>

    quello che viene messo nell'elemento sarà SOLO



    Testo HTML</p>

    il resto viene strippato, prova a mettere nel body il tag script
    <script type="text/javascript" src="js/iscrizione.js" charset="ISO-8859-1"></script>

    Ah, ovviamente, rentidi conto che se metti un addEvent() con domready o load non funzionerà mai dato che la pagina è GIA' caricata
    lascia stare i mootools che sono già caricati nell'index
    I DON'T Double Click!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99
    sigh...neppure mettendo <script type="text/javascript" src="js/iscrizione.js" charset="ISO-8859-1"></script> tra i tag body non funziona lo stesso...sigh...

  10. #10
    ripeto: contiene degli eventi domready o load?
    I DON'T Double Click!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.