Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896

    variabile da javascript a php

    ciao a tutti!


    io dovrei richiamare una funzione definita in php con in ingresso un valore preso con javascript, eccola:


    <?php cercatotaletempo(?>inp[i].vaule<?php)?>");

    naturalmente non funzia...

    e la devo inserire all'interno di:
    <script>

    ......
    for (i=0; i<inp.length; i++)
    {
    if (inp[i].type == 'checkbox')
    {
    if (inp[i].checked) {
    contaCheckbox++;
    id=inp[i].value;
    tempogiro=new tempo("<?php cercatotaletempo(?>inp[i].vaule<?php)?>");
    totaletempo=tempo.add(totaletempo, tempogiro);
    }
    }
    }
    ......
    </script>


    qualche aiutino??? grazie

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    o comunque nn è necessario risolvere questo problema... mi basterebbe sapere se risco a passare variabili da php a javascript e viceversa...

  3. #3
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    dopo altri tentativi vorrei riformulare la mia domanda:

    se sono all'interno di

    <script language="JavaScript" type="text/JavaScript"> ... </script>

    voglio richiamare una funzione in php mi basta scrivere

    <script language="JavaScript" type="text/JavaScript"> <?php cercatotaletempo(2)?>"); </script>

    e fin qui ci siamo... ma se la variabile della mia funzione php deve essere introdotta con javascript, come faccio???

    <script language="JavaScript" type="text/JavaScript">
    <?php cercatotaletempo(?>inp[i].value<?php?>");
    </script>


  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Cerchiamo di capire una cosa: nel momento in cui il browser ti manda l'output (html, CSS, javascript e quant'altro) a schermo, PHP è morto e sepolto: il server ha già interpretato il codice PHP, fatto le suo porcate e mandato l'eventuale output che verrà (o potrebbe essere) mostrato a video.
    Quindi, la tua domanda ha senso 0: nel momento in cui arrivi ad eseguire quel JS, PHP ha finito da un pezzo e sta a prendersi il caffé e l'amaro aspettando la prossima richiesta. Il che vuol dire che quel valore generato in JS glielo passi per esempio in un form oppure in querystring alla successiva richiesta.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    ok molto bene, e fin qui ci siamo... perchè senza annoiarti con tutto il codice, ti faccio presente che questo codice funziona:

    <script language="JavaScript" type="text/JavaScript">
    ...

    function contaCheck()
    {
    var totaletempo=new tempo("00:00:00");
    var id = new tempo("00:00:00");
    var contaCheckbox=0;
    frm = document.getElementById('formCheck');
    inp = frm.getElementsByTagName('input');
    for (i=0; i<inp.length; i++)
    {
    if (inp[i].type == 'checkbox')
    {
    if (inp[i].checked) {
    contaCheckbox++;
    tempogiro=new tempo("<?php cercatotaletempo(2)?>");
    totaletempo=tempo.add(totaletempo, tempogiro);
    }
    }
    }
    document.getElementById('cellaContatore').innerHTM L=contaCheckbox;
    document.getElementById('cellatotaleore').innerHTM L=totaletempo;

    }


    ...
    </script>


    ma il problema è la riga

    ...
    tempogiro=new tempo("<?php cercatotaletempo(2)?>");
    ...

    che invece di 2 devo inserire il valore del 'checkbox' ossia devo passare a php inp[i].value

    ...
    tempogiro=new tempo("<?php cercatotaletempo(inp[i].value )?>");
    ...


    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    bhè, per esempio:
    codice:
    window.location.href += "?tempoGiro="+inp[i].value;
    Provoca il reload, e il nuovo valore lo recuperi in $_GET['tempoGiro'];

    Altrimenti "rivolgiti" ad Ajax, che rende "trasparente" all'utente tale trasmissione.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    scusa ma non ho capito...

    tempo giro è risultato di due funzioni:
    - la prima "new tempo(tempo)" dichiarata in javascript che mi formatta il tempo
    - la seconda "cercatotaletempo($id)" dichiarata in php che cerca in un db il valore di un campo in base all'id che inserisco

    quindi in base a quello che hai detto io dovrei fare

    ....
    if (inp[i].checked) {
    contaCheckbox++;
    window.location.href += "?tempoGiro="+inp[i].value;
    totaletempo=tempo.add(totaletempo, tempogiro);
    }
    ...

    ma dove inserisco "cercatotaletempo($id)" ???

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Stai organizzando il tutto in maniera alquanto disastrosa o se non altro contorta. Allora, hai checkbox, quindi hai un form e quindi del form fai il submit (Altrimenti a php arriva na "chainsaw", scusami il francese). Quindi fa fare tutto a PHP e tieni le cose separate (che tanto sono separate comunque per quanto detto prima)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    ok... allora ti spiego la mia situazione e accetto qualsiasi suggerimento

    dopo estrazione dal db, ottendo una serie di righe con assegnato un checkbox. L'utente deve selezionare le righe che nn gli interessano per poi stamparle (queste righe posso essere dell'ordine del centinaio), ogni volta che lui spunta una riga alla fine ho il totale delle righe in tempo reale (con javascript) e come faccio il suo conteggio volevo anche contare il valore che assegno a queste checkbox(in questo caso è un tempo)... nn mi sembra cosi contorta come soluzione

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora potresti aggiungere dei textfield in cui stampi via javascript i valori "in tempo reale", poi tutte le elaborazioni del caso le continui a fare via PHP, in caso anche sui valori totali che hai fatto calcolare a javascript. Però se tali conteggi in tempo reale contemplano il pescare dati dal database ad ogni modifica delle selezioni (ossia tutti i dati necessari non sono resi disponibili fin dall'inizio), non c'è modo se non facendo un submit (o con ajax) di andare ad interagire col database stesso.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.