Visualizzazione risultati 1 fino 7 di 7

Discussione: [Javascript] Problema con il valore di una funzione

  1. #1
    Guest

    Predefinito [Javascript] Problema con il valore di una funzione

    Sto cercando di creare un tasto che, se premuto, cancelli un valore nel database. Voglio però che prima di cancellarlo mi chieda una conferma con il tipico box javascript confirm.

    Che la funzione javascript:
    Codice:
    function richiesta_conferma(domanda, azione)
    {
    alert (azione); /* Questo alert è provvisorio, giusto per vedere se il valore di "azione" è passato correttamente
    var agree=confirm(domanda);
    if (agree) {
    		window.location = azione;
    		}
    else
    	return;
    }
    Il codice del bottone (un link) è generato da php con questa istruzione:

    Codice:
    <?php
    
    $stringa_eliminazione_utente = urlencode("richiesta_conferma('Sei sicuro di volere eliminare questo utente?', 'micio')"); 
    
    echo "<a href=\"javascript:".$stringa_eliminazione_utente."\" title=\"Elimina\">Elimina</a>\n";												
    
     ?>
    Attualmente, alla pressione del link, prima di apparire il box di conferma javascript, appare l'alert ma dentro il box non c'è scritto "micio", come mi aspetterei, ma invece la parolina "NaN" (Not A Number),

    Non capisco dove stia l'inghippo..

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a togliere lo spazio tra alert e la parentesi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Prova a stampare la stringa codificatca dall'urlencode.
    Ho il sospetto che traduca male i singoli apici e con le virgolette.


    Ciaooooo!!!!!

  4. #4
    Guest

    Predefinito

    debug ho provato togliendo l'urlencode e funziona perfettamente.. Ma il link mi invalida la pagina.. ho bisogno di quell'urlencode..

    Comunque sia ecco quanto chiesto:

    Codice:
    $stringa_eliminazione_utente = urlencode("richiesta_conferma('Sei sicuro di volere eliminare questo utente?', 'micio')");
    
    echo $stringa_eliminazione_utente;
    Ed ecco cosa stampa:
    Codice:
    richiesta_conferma%28%27Sei+sicuro+di+volere+eliminare+questo+utente%3F%27%2C+%27micio%27%29
    Ultima modifica di attorianzo : 28-02-2007 alle ore 14.47.31

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Modifica il link in questo modo:
    Codice PHP:
    echo "<a href=\"#\" onclick=\"richiesta_conferma('Sei sicuro di volere eliminare questo utente?', 'micio'); return false;\" title=\"Elimina\">Elimina</a>\n";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    Guest

    Predefinito

    Grazie ad entrambi per i vostri interventi.

    x Funcool: ho provato a seguire il tuo suggerimento e in effetti funzionava, dal momento che mi permetteva di non usare l'urlencode.. Ma il risultato che me ne conseguiva era comunque piuttosto strano, quando nel javascript box confirm io premevo su "no"..

    Ho tuttavia risolto il problema, usando persino l'urlencode.
    Ecco come era la stringa incriminata prima della correzione:
    Codice:
     $stringa_eliminazione_utente = urlencode("richiesta_conferma('Sei sicuro di volere eliminare questo utente?', 'micio')");
    Il problema era nello spaziettino posto subito prima di 'micio'. Tolto lo spazietto funziona.

    Bah.. Javascript troppo spesso è così stupido..

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da attorianzo
    Bah.. Javascript troppo spesso è così stupido..
    E' colpa della funzione urlencode, non certo di JavaScript che si trova una stringa scritta male.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •