Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    22

    Funzione javascript da html scritto da php

    Ho scritto in php un programma che scrive html e nel form vorrei controllare gli input text richiamando funzioni javascript, al verificarsi dell'evento (onblur, onclick..).
    ho fatto:
    echo " ...
    <head>
    <meta content='text/html; charset=ISO-8859-1' http-equiv='content-type'>
    <link rel='stylesheet' href='ute_perso.css' type='text/css' />
    <script type=\"text/javascript\" src=\"routine.js\"> </script>
    </head> ...
    dove routine.js contiene le funzioni che richiamero' nel form:
    ...
    echo "
    <form method=\"POST\" action=\"risadmin.php\" name=\"cu_campi\">
    <table width='98%' border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
    <tr>
    <td><input type=\"text\" name=\"cu_nome\" value=\"$cl_utenti->g_nome\" size=\"30\" maxlength=\"20\"
    onfocus=\"ctrdesc('Nome')\" onblur=\"ctrdesc('Nome')\"></td> ...
    Il problema è che non esegue le funzioni!
    Ringrazio per l'aiuto.
    Carlo

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    tanto per cominciare, a che servono quegli echo con tutta quella roba dentro senza niente in php?
    Chiudi il php con il tag ?> e metti direttamente il codice html, così eviti di incasinarti con i backslash.

    In secondo luogo, se hai delle funzioni javascript che non vengono eseguite, php c'entra meno di zero.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    22
    1. il programma in funzione del richiamo iniziale o dei rientri su se stesso, compone pagine diverse html, per cui è php che scrive l'html a secondo delle condizioni.
    2. siccome lo stesso metodo con asp mi ha funzionato, ho ritenuto che il problema sia php.
    Grazie comunque.
    Carlo

  4. #4
    Va bene così? Era questo che intendevi?
    Con questo fai un controllo del campo con ID 'Text1', se la $tuavariabile corrisponde al 'nome_che_dovrebbe_corrispondere_alla_variabile', allora avrai un alert che ti dice che il campo è corretto, naturalmente puoi sostituire l'alert con quello che ti pare

    Codice PHP:
    echo '
    <script>
    if document.getElementById("Text1").value = "nome_che_dovrebbe_corrispondere_alla_variabile" 
    {
    alert("Il campo è corretto");
    }
    </script>'


    Codice PHP:
    echo '
    <input onblur=" controllocampo() " value=" '
    .$tuavariabile.' " id="Text1" name="Text1" type="text" />'
    è il primo aiuto che do personalmente nel forum, scusatemi se ho sbagliato qualcosa (o tutto )

    EDIT: scusate, ho postato pochi minuti dopo e non avevo visto la risposta

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    22
    per zn666: e' proprio quello che vorrei; come hai fatto tu, ho scritto la funzione (che ho messo nel file esterno 'routine.js'), l'ho dichiarata tra i tag head e l'ho utilizzata in un on...
    Ma quella che tu mi hai suggerito, ti funziona?
    Sicuramente non ho impostato qualcosa, ma nelle varie ricerche non ho trovato la soluzione.
    Attendo tue e ovviamente di altri, grazie
    Carlo

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    22
    per completezza, la funzione richiamata nell'esempio iniziale è questa:
    function ctrdesc(desc)
    { // richiamato da onfocus e onblur, toglie/mette la descr. di default
    id = window.event.srcElement.id;
    if (document.getElementById(id).value == desc){
    document.getElementById(id).value = "";
    }
    else
    if (document.getElementById(id).value == ""){
    document.getElementById(id).value = desc;
    }
    }

    che richiamata da asp funziona, come altre per altri controlli, per cui suppongo che sia il contesto con php che non piace.
    Di nuovo
    Carlo

  7. #7
    Per tagliare la testa al toro...

    Carica la pagina PHP su un browser e vai a vedere l'HTML che è stato generato.

    Cerca nel codice la parte relativa al form e postela, così possiamo capire se il problema sta nell'esecuzione del codice PHP o in altro.

  8. #8
    Originariamente inviato da CarloG
    per zn666: e' proprio quello che vorrei; come hai fatto tu, ho scritto la funzione (che ho messo nel file esterno 'routine.js'), l'ho dichiarata tra i tag head e l'ho utilizzata in un on...
    Ma quella che tu mi hai suggerito, ti funziona?
    Sicuramente non ho impostato qualcosa, ma nelle varie ricerche non ho trovato la soluzione.
    Attendo tue e ovviamente di altri, grazie
    Carlo
    io ho creato un mio codice php in cui utilizzo questo metodo che ti ho suggerito e mi funziona il controllo... però ti suggerirei di dare ascolto a DragonOfLight che sicuramente se ne intende di più di me

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    22
    Grazie mille a zn666 e DragonOfLight; confortato da uno e suggerito dall'altro ho trovato che nell'<input non attualizzavo l'id (i copia-incolla a volte fan piu' danni che benefici) per cui la funcion js andava in errore.
    Purtroppo le prove le facevo con Firefox che non segnalava nulla, mentre provando come suggerito da DragonOfLight, IE mi ha dato l'errore (argomento errato).
    Alla prossima, ciao
    Carlo

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.