Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    disperato : disabilitare bottoni + andata e ritorno alla pagina

    eccomi qui....Ottimo titolo direi....spero vi abbia incuriosito almeno..

    Ho una serie di bottoni, a coppie start - stop.(sono generati dinamicamente tramite ciclo php) Questi bottoni partono con lo stop disabilitato. A questo punto vorrei che premendo start venga immediatamente abilitato stop(ovviamente quello a fianco del tasto premuto) e disabilitato start. Il tutto pero' deve anche far si che esegua una funzione php. A questo punto mi incasino. Per eseguire la funzione php ho dovuto , all'evento onClick, lanciarmi a un'altra pagina, eseguire la function e poi tramite header(Location:xyz.php) ritornare alla pagina con i pulsanti. Senza questo passaggio di link era facile dire all'onClick dei bottoni, disabilita B e abilita A e il contrario. Se lo faccio pero' mi trovo a ricaricare la pagina dei bottoni e tornare cosi alla situazione degli stop disabilitati (ossia la mia situazione iniziale).

    Come posso fare questo effetto? spero di essere stato chiaro. Fin ora il mio codice è questo :

    codice:
    funzione js
    function alter()
    {
       document.getElementById("start").disabled=true;
       document.getElementById("stop").disabled=false;
    }	
    
    
    
    
    pagina bottoni.php
    
    <input type="button" name="start_01" value="start" id="start" onclick="alter();location.href='startSession.php'>
    <input type="button" value="stop" name="stop_01" id="stop" onclick="alter();location.href='stopSession.php' disabled>
    
    
    pagina startSession(e cosi anche la stop)
    
    <php
    miaFunzione.... + redirect alla pagina bottoni
    
    header("Location: bottoni.php");
    ?>
    vi prego un aiuto...un consiglio ...qualcosa...

    grazie ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Intanto la funzione alter() deve avere una variabile in piu`, altrimenti e` un alter a senso unico:
    codice:
    function alter()
    {
       var segno = document.getElementById("stop").disabled;
       document.getElementById("start").disabled = segno;
       document.getElementById("stop").disabled = !segno;
    }
    Poi la pagina del server dovra` passare un parametro per dire cosa ha fatto.
    Ad esempio puo` passare un valore JS:
    var aperto = true; /* o false */

    Naturlamentre nel sorgente ci sara` scritto (ad esempio):
    var aperto = <%=apertura%>;
    dove apertura e` una variabile lato server (l'esempio e` simil-ASP) che puo` essere true o false.

    Tale parametro lo puoi anche usare nella funzione alter (al posto di usare il disbled di stop).

    Prova a pensare a questa cosa (che implica modifiche al lato server - di cui non siamo al corrente), poi torna qui.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    A parte il discorso della funzione alter() unidirezionale...l'avevo gestito in un altro modo simile al tuo....ma non e' quello il problema...una volta fatta per lo start faccio presto per lo stop.
    Torniamo a noi
    la tua idea e' ottima...piccolo problema. Lato server la variabile me la faccio passare. Quando la pagina startSession.php mi fa il redirect alla pagina bottoni mi faccio passare una variabile

    A questo punto ho un po di problemi a infilarla nel javascript....ossia....io ho scritto cosi sulla pagina bottoni (ti posto anche il php, e' solo l'aquisizione della variabile).
    N.B. E' importante dove ho scritto il codice?intendo in quale punto della pagina bottoni.php?


    a inizio pagina aquisisco l'eventuale variabile che arriva dalla pagina startSession.php

    codice:
    if(isset($_REQUEST['dis']))
    {
       $dis=$_REQUEST['dis'];
    ?>
       <script type="text/javascript">
          dis = "<?php echo $dis;?>";
       </script>
    <?php
    }
    ?>
    
    
    piu sotto nella pagina c'e' l' <head> e dentro qui dico
    <script type="text/javascript">
       var dis ="";
    
       alert(dis);
    </script>
    
    </head>
    
    
    ora...l'alert e' vuoto....ma se stampo con php la variabile lato server $dis ...e' valorizzata...dove sbaglio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ooook ....ci sono riuscito, ma non ancora del tutto.
    Cambiando la posizione dell'assegnazione variabile lato server al javasctipt e funzione alert(variabile server) becco la variabile e la visualizza nell'alert.

    Problema e' che io con quella variabile speravo di fare un controllo cosi

    <script type="text/javascript">
    if(dis==1)
    {
    document.getElementById("start").disabled=true;
    }
    </script>

    purtroppo mi dice che document.getElementById(..)e' nullo o non e' un oggetto.... A questo punto Mich..come avresti usato questa variabile tanto sudata??

  5. #5
    scusa, io non sono un'esperta, ma facendo così


    <script type="text/javascript">
    var dis ="";
    alert(dis);
    </script>

    non ridefinisci il valore della variabile javascript dis come vuoto?
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  6. #6
    hem magari parlo a sproposito, ma se invece di usare getElementById usi

    if(dis==1){document.nomeform.start_01.disabled="tr ue";}

    ?

    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    e' uguale

  8. #8
    lo so,ma non so che id hai dato agli altri input "start", magari c'era un conflitto di id
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ragazzi grazie a tutti dell'aiuto....ho messo il js che in basae alla variabile mette disable il pulsante start in fondo alla pagina e funziona....

    grazie come sempre
    w il forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In questi ultimi post c'e` un po' di confusione.
    Ricordate che l'ordine e` alla base di una buona programmazione.

    Inoltre andare per tentativi non sempre e` una buona idea: si rischia di inserire errori piu` grossi di quelli che si vogliono togliere. I computer sono sempre piu` razionali dei programmatori.


    1. uno script va inserito nella head (o nel body) di una pagina, non fuori da essi.

    2. non ha senso definire una variabile prendendola da server e poi ridefinirla forzandola. La prima definizione viene persa.

    3. il getElementById(..) va usato DOPO che l'ogetto e` stato definito, quindi lo si usa in una funzione (che puo` essere richiamata dall'evento onload) oppure va messo in fondo alla pagina.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.