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

    Passare una variabile javascript a una classe php

    Ciao a tutti

    Io ho questa funzione javascript:

    codice:
    <script type="text/javascript">
    
    function showFirst(x)
    {
    	var testo;
    	var titolo;
    
    switch (x)  {
    
    	case '1':
    		testo = "<p id='1'> 	<?php
    		$obj = new controllo;
    		$obj -> getChecksByEvent(1);
    		echo $obj->content;
    
    	?></p>";
    	
    		titolo = " <?php
    		$title = new evento;
    		$title -> getDataEvent(1);
    		echo "Tabella controlli: " .$title->nomeEvento; ?>
    		";
    
    	break;
    	
    	case '2':
    		testo = "<p  id='2'> 	<?php
    		$obj = new controllo;
    		$obj -> getChecksByEvent(2);
    		echo $obj->content;
    	
    	?></p>";
    
    		titolo = " <?php
    		$title = new evento;
    		$title -> getDataEvent(2);
    		echo $title->nomeEvento; ?>
    		";
    	break;
    	
    		}
    
    }
    
    
    </script>
    ...che funziona.
    Come si capisce, all'interno c'è incluso del codice php che richiama una classe esterna per creare degli oggetti.

    Io vorrei evitare lo switch e quindi passare ai metodi della classe php la variabile (x) in modo dinamico.
    Però...non riesco a passare la funzione javascript a php, perchè ovviamente php lavora in modo diverso e con tempi diversi da javascript.

    Qualche espediente??

    Grazie!

  2. #2
    puoi inviare una richiesta AJAX con i valori, ed evalutare la risposta del server:

    Dal lato server crei un file PHP che fa solo:

    Codice PHP:

    $id 
    intval($_GET['id']);

    switch (
    $id)  {

               case 
    1:
                    echo 
    'testo = "<p id=\"1\">';
                    
    $obj = new controllo;
                    
    $obj -> getChecksByEvent(1);
                    echo 
    $obj->content;
                    echo 
    '</p>";';
        
            echo 
    'titolo = " ';
            
    $title = new evento;
            
    $title -> getDataEvent(1);
            echo 
    "Tabella controlli: " .$title->nomeEvento;
            echo 
    '"';

        break;
        
        case 
    '2':
                    echo 
    'testo = "<p id=\"2\">';
                    
    $obj = new controllo;
                    
    $obj -> getChecksByEvent(2);
                    echo 
    $obj->content;
                    echo 
    '</p>";';
        
            echo 
    'titolo = " ';
            
    $title = new evento;
            
    $title -> getDataEvent(2);
            echo 
    "Tabella controlli: " .$title->nomeEvento;
            echo 
    '"';
        break;
        
            }


    lato client invii una richiesta AJAX alla pagina PHP li sopra, con ?id=1 o ?id=2

    Se per esempio tu usassi prototypejs:

    Codice PHP:

    function showFirst(x)
    {
       new 
    Ajax.Request("tua_pagina.php?id="+x, {method'get'onCompletecallBack});
    }

    function 
    callBack(transport)
    {
       var 
    resp transport.responseText;
       eval(
    resp);
       
    //ora in titolo ed in testo hai i valori corretti


  3. #3
    Ho dato uno sguardo e non sembra complicatissimo, anche se purtroppo con Ajax sono del tutto ignorante.
    Però ci provo. Ti ringrazio!!

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.