Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Come posso richiamare una funciona jevascript da php?

    Salve,la domanda è molto stupida,tanto è vero che mi sono risposto da solo ma il punto è che "non funziona".Mi spiego meglio,conosco molto bene php a javascript e riesco a fare interagire i due linguaggi fra loro benissimo,il punto è che ora mi ritrovo questa funzione javascript:
    codice:
    function selecter(arg){
    	if (arg == "msgpri"){
    		document.getElementById('tablemessaggi').style.display = "inline"
    		
    		document.getElementById('MessaggiPrivati').style.borderBottom = "3px solid #F93"
    	    document.getElementById('MessaggiPrivati').style.borderTop = "3px solid #F93"
    		document.getElementById('MessaggiPrivati').style.borderLeft = "3px solid #F93"
    		document.getElementById('MessaggiPrivati').style.borderRight = "3px solid #F93"
    		document.getElementById('MessaggiPrivati').style.color = '#F93'
    		alert("riuscito")
    
    
    	}
    	}
    da dover richiamare con appunto selecter('msgpri'),la funzione è associata ad un click ed infatti funziona bene,ma quando provo a richiamarla da php,il testo viene "stampato" nel codice ma lo script non viene richiamato.
    il codice php che si occupa di questo è:
    codice:
    <?php $asd = $_POST[action]; if($asd == "true"){echo("selecter('msgpri');");} ?>
    a sua volta questo riceve una variabile da un altra pagina,ma questo spezzone funziona perchè se al posto del codice javascript inserisco un alert me lo elgge tranquillamente.
    PS:Il codice js si trova all'inizio della pagina quindi non penso sia un problema di "chi viene prima e chi dopo". Qualcuno può illuminarmi o devo ristampare per forza tutto il codice javascript nell'echo? Grazie.

  2. #2
    Per la cronaca,lo script php si trova fra i tag script,quindi non penso sia neanche questo il problema...
    EDIT:Ho appena notato che la funzione non riesco a richiamarla neanche dalla pagina stessa,insomma se scrivo "selecter('msgpri') fra i tag script neanche va... sono andato a cercarmi su google "richiamare funzioni javascript e come intuivo sto facendo tutto correttamente...
    Risolto da solo,errore anche molto stupido,cercavo di richiamare lo script prima che l'oggetto da "influenzare" venisse creato... dicevo io che era tutto corretto
    Potete chiudere
    Ultima modifica di XSparter; 21-09-2014 a 22:46

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    Ciao non sono sicuro che quello che ti sto per dire funzioni perchè io uso sempre due pagine su netbeans, una per il codice vero e proprio PHP (server) e una pagina per il lato client, dove in quest ultima inserisco codice html, javascript e css. In questo modo, funziona sicuramente, perchè fai interagire i due linguaggi tramite chiamate ajax, le quali caricheranno dalla pagina server, i vari pezzi di codici distinti da degli IF. Questa potrebbe essere una soluzione, ma non credo di essermi spiegato bene, anche perchè è un po' difficile da spiegare tramite 3d
    Un'altra soluzione potrebbe essere questa:


    <?php
    $asd = $_POST['action'];

    if($asd === "true")
    { echo ' <script LANGUAGE="JavaScript">
    selecter('msgpri');
    </script> ';
    }

    ?>

    Prova cosi.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    ops, scusate non avevo letto il "potete chiudere"

  5. #5
    Quote Originariamente inviata da fra9494 Visualizza il messaggio
    Ciao non sono sicuro che quello che ti sto per dire funzioni perchè io uso sempre due pagine su netbeans, una per il codice vero e proprio PHP (server) e una pagina per il lato client, dove in quest ultima inserisco codice html, javascript e css. In questo modo, funziona sicuramente, perchè fai interagire i due linguaggi tramite chiamate ajax, le quali caricheranno dalla pagina server, i vari pezzi di codici distinti da degli IF. Questa potrebbe essere una soluzione, ma non credo di essermi spiegato bene, anche perchè è un po' difficile da spiegare tramite 3d
    Un'altra soluzione potrebbe essere questa:


    <?php
    $asd = $_POST['action'];

    if($asd === "true")
    { echo ' <script LANGUAGE="JavaScript">
    selecter('msgpri');
    </script> ';
    }

    ?>

    Prova cosi.
    Sisi ho capito,ci avevo già pensato alla chiamata ajax,ma il punto è che come webserver uso altervista,ogni login o navigazione su pagina consuma relativamente parecchia banda mensile,diciamo che questo metodo qui consuma "meno".Comunque ho risolto,grazie comunque

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.