Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322

    Evento onchange in una select non mi trasmetti nessun valore

    Come da oggetto, non riesco a capire perché non riesco a passare nessun dato alla funziona jscript

    Il codice che ho creato è il seguente

    codice:
    <?$var=file('ordini/database/SACcodici.csv'); 
    for($i=0;$i<count($var);$i++) { 
    $var[$i]=explode(";",$var[$i]); }?> 
    <select name="sacchi" onchange="alert(this.options[selectedIndex].text);"> 
    <?for($i=0;$i<count($var);$i++) {?> 
    <option value="" class="t1"><? 
    echo trim(substr($var[$i][0],1,-1)); ?>
    </option> 
    <?} ?> 
    </select>
    Così facendo ottengo un alert contenente il valore che che seleziono ma se metto all'interno di alert <? echo $var[1][0]; ?> ottengo errore di sintassi e non capisco perché

  2. #2
    Ciao,
    io ho provato così e non mi dà errori

    Codice PHP:
    <?php
    $var
    =file('codici.txt');
    for(
    $i=0;$i<count($var);$i++) {
    $var[$i]=explode(";",$var[$i]); }
    ?>



    <select name="sacchi" onchange="alert('<?php echo $var[1][0]; ?>');">

    <?php
    for($i=0;$i<count($var);$i++) {
    ?>
       <option value="" class="t1"><?php echo $var[$i][0]; ?></option>
    <?php
    }
    ?>

    </select>
    Chiaramente l'ho un po' adattato al mio test ma dovrebbero essere cose secondarie ininfluenti (file txt invece di csv, tag <?php invece di <? e poi ho tolto la substr e la trim).

    Tu che errore ricevi?
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Io non capisco, mi segnala questo errore

    codice:
    Dettagli errore pagina Web
    
    Agente utente: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )
    Timestamp: Fri, 25 Feb 2011 11:31:15 UTC
    
    
    Messaggio: Costante String senza terminazione
    Linea: 21
    Carattere: 8
    Codice: 0
    URI: http://127.0.0.1/sacchi.php
    Per altro la riga incriminata è

    codice:
    $var[$i]=explode(";",$var[$i]);
    ma non ha senso, se metto un semplice alert('ciao') funziona

  4. #4
    Si, effettivamente non ha molto senso, dev'esserci qualcos'altro.

    Un errore di costante string senza terminazione potrebbe essersi generato anche alcune righe prima di quella in cui viene segnalato, prova a dare un'occhiata anche alle righe precedenti.

    Ma il codice che ti ho postato io e che da me funziona l'hai provato?
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  5. #5
    Mi viene in mente un'altra cosa, sai che l'ascii ha tre modi per indicare gli apici singoli e tre per quelli doppi?

    singoli: 39, 145 e 146
    doppi: 34, 147 e 148

    A volte capita che copiaincollando pezzi di codice da diverse fonti non tutti siano uniformi, prova a verificare anche questo.
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Magari fosse quello.
    Il problema si pone in quanto

    codice:
    <select name="sacchi" onchange="alert('ciao');">
    funziona mentre..

    codice:
    <select name="sacchi" onchange="alert('<?php echo $var[1][0]; ?>');">
    no :-(

    ma poi dovrei mettere il valore dentro l'alert senza le apici in quanto non è un testo ma un valore
    Ora, se metto

    codice:
    $var[1][0];
    non funziona e mi da errore di sintassi

    se metto

    codice:
    $var[$i][0];
    funziona, ma ovviamente non avendo impostato $i non mi da nessun valore

  7. #7
    Originariamente inviato da ReWeNgE
    ma poi dovrei mettere il valore dentro l'alert senza le apici in quanto non è un testo ma un valore
    Su questo non sono d'accordo perché è un valore numerico in php ma l'alert è js e per lui quello è un normale testo trasmesso dal server.
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  8. #8
    E così hai provato?

    codice:
    <select name="sacchi" onchange="alert('<?php echo ($var[1][0]); ?>');">
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Ho provato ma senza ottenere quello che voglio e mi sembra molto strano perché mi ricordo che in passato passato da un evento una variabile in php proprio in questo modo

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Non riesco proprio a capire perchè non riesco a ricavare il valore che seleziono da una select.
    Ho provato anche così ma niente

    codice:
    <?$var=file('ordini/database/SACcodici.csv');
      for($i=0;$i<count($var);$i++) {
        $var[$i]=explode(";",$var[$i]);
      }?>
    
    
    <select name="lista" onchange="alert(this.value)">
    
      <?for($i=0;$i<count($var);$i++) {?>
          <option value="" class="t1"><? echo trim(substr($var[$i][0],1,-1)); ?></option>
      <?}
      ?>
    
    </select>
    Praticamente il file csv contiene tante righe che vado a visualizzare con una select
    Se cambio, dovrei ottenere il valore selezionato ed invece ottengo un valore vuoto

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.