Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Problema con richiamo funzione JS da form

    ciao!

    allora, all'invio di un form eseguo vari controlli.
    nel caso in cui questi non vadano a buon fine, il programma deve emettere un suono e un alert.
    ho sempre fatto così ed ha sempre funzionato fino a circa 3 settimane fa:
    Codice PHP:
    if ($check) {
      
    // DO STUFF
    } else {
      echo 
    '<script type="text/javascript">soundError();</script>';
      echo 
    '<script type="text/javascript">alert("ARTICOLO INESISTENTE");</script>';

    in generale la funzione soundError() funziona.
    e lo dico perchè l'ho testata su un semplice file html richiamando la funzione con l'evento onload.

    ma al submit del form, in caso di errori, esce solo l'alert.
    siccome ha sempre funzionato, non vorrei fossero cambiate dell policy o impostazioni dei browser.
    secondo voi?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Secondo me se è un problema di Javascript dovresti chiedere nella sezione Javascript.
    Per quanto riguarda PHP, leggi il sorgente della pagina, se quelle due righe vengono scritte, PHP non c'entra.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Secondo me se è un problema di Javascript dovresti chiedere nella sezione Javascript.
    Per quanto riguarda PHP, leggi il sorgente della pagina, se quelle due righe vengono scritte, PHP non c'entra.
    eh ma il discorso è che la funzione js funzione bene.
    come detto l'ho testata su una pagina html messa allo stesso livello directory di questo script.
    e poi l'ho testata in questa stessa pagina richimandolo nell'evento onload.
    quindi funziona.

    e nel form l'alert funziona (nel senso che appare nella pagina).
    è come se "saltasse" quella riga.

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Guarda il sorgente della pagina html. SoundError deve esserci per forza se c'è la riga successiva.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    allora.
    intanto nella pagina ho fatto questo:
    codice:
        window.onload = function () {
            soundError();
        }
    .......
    // CODICE POSTATO SOPRA
    e quando carico la pagina, il suono si sente.
    all'invio del form, con errore, vedo questo:
    codice:
    <form id="frm_articoli" method="post" action="" class="form-inline pull-left" role="form">
       <script type="text/javascript">soundError();</script>
       <script type="text/javascript">alert("ARTICOLO INESISTENTE");</script>
    .....................
    </form>
    viene visualizzato l'alert, ma il suono non si sente.

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quindi non è un problema php. Secondo me dovresti provare a mettere il js altrove (prima del </body> ad esempio) in quanto non ha nulla a che fare nella form.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Quindi non è un problema php. Secondo me dovresti provare a mettere il js altrove (prima del </body> ad esempio) in quanto non ha nulla a che fare nella form.
    scusa non ho capito.
    se lo richiamo fuori dal body o dentro al body (ad esempio nell'evento onload della pagina, o all'evento onclick su un button), funziona regolarmente.
    ma a me serve che funzioni al submit del form dopo i controlli.

    o meglio, è più di un anno che funziona senza problemi.
    in tre script differenti tra l'altro.
    sono circa tre settimane che non funziona.


    EDIT: su IE continua a funzionare.
    è su firefox e chrome che non funziona più!

    EDIT 2: su IE ma non con lo il suono che dovrebbe essere richiamato (un wav).

    cmq se mi dite che secondo voi è un problema solo di JS posta la.
    ma alla fine solo richiamandolo con php non funziona.
    Ultima modifica di fermat; 14-07-2015 a 16:27

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    php genera il codice html ma è il browser ad eseguirlo. Hai guardato se c'è un messaggio di errore ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    ho deciso di provare a fare una prova banale.
    premettendo che questo codice funziona nella pagina (proprio nello stesso file php):
    codice:
    window.onload = function () {
            soundError();
        }
    ho fatto così nel form:
    Codice PHP:
                    echo '<script type="text/javascript">console.log("ok");</script>';
                    echo 
    '<script type="text/javascript">soundError();</script>';
                    echo 
    '<script type="text/javascript">alert("ARTICOLO INESISTENTE");</script>'
    nella console leggo l'ok.
    vedo l'alert.
    ma non sento il suono.

    però mi compare questo all'invio del form:
    codice:
    ReferenceError: soundError is not defined
    però perchè se la metto nell'onload funziona??
    Ultima modifica di fermat; 14-07-2015 a 21:22

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi postare il codice sorgente html che non funziona ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.