Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Label o value textbox?

  1. #1

    Label o value textbox?

    Ciao ragazzi,
    ho il seguente codice:
    codice:
    <select onchange="circoscrizione.value=this.value.replace(/_*$/, ''); changeImage(this.form)" name="quartiere">
    Mi va amodificare i valori della texbox circoscrizione andando a togliere gli underscore.
    Il problema è che io non devo modificare i valori...devo modificare solo le label di essi. Non so se la cosa può essere fatta. Questo mi serve perchè Ho dei valori che devono per forza di cose sulla mia tabella nel db manterene gli underscore. E' solo l'interfaccia che non deve mostrarli al'utente. Il codice che invece uso io li toglie dalla value...e quindi quando aggiorno la scheda utente sul database la modifica considera il nuovo valore senza le underscore...che non è quello che voglio io.

    Non so se sono stato sufficientemente chiaro.

    Tulipano

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Perché non lo fai lato server <label><?codice php che fa il replace del dato e lo stampa a video con un echo?></label> se sviluppi in asp o jsp il concetto non cambia, fare la stessa cosa in js sarebbe più complessa
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Non sono in grado di farlo temo..o meglio... se apportassi la modifica lato server dovrei modificare anche altre parti di codice...Mi sono funzionali in termini di value gli underscore.......Come sarebbe possibile farlo in javascript? E' davvero così complesso?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non ti capisco ora nel label stampi un dato presumo recuperato dal db il replace lo fai solo sul label senza modificare altro, e si mio avviso e più complicato farlo in js oltre che sbaglio (ricevo un dato dal server che modifico immediatamente da client) ma se vuoi provare o attendere che qualcuno ci voglia provare liberissimo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ecco il codice completo.
    Devo mantenere sul database gli underscore per il seguente motivo:
    PRIMA_ vuol dire quartiere Tribunali Castellammare
    PRIMA__ vuol dire quartiere Palazzo Reale-Monte di Pietà
    etc etc
    Alla PRIMA circoscrizione appartengono un tot numero di quartieri che identifico con un numero variabile di underscore.
    Per una questione statistica devo mantenere traccia sul DB di QUALI dei quartieri sono coinvolti e quindi, dato che ho la chiave di codifica, mi serve che vengano memorizzate le voci con l'underscore.
    Quindi ho spiegato come l'underscore lato DATABASE mi è necessario.
    Lato SERVER non posso togliere l'underscore perchè mi serve LATO CLIENT per individuare il quartiere da come si evince da una lettura attenta del codice che troverai dopo.
    Ecco perchè mi disfo dell'underscore con questo escamotage circoscrizione.value=this.value.replace(/_*$/, ''); solo lato client.
    C'è un problema però: il codicino qui sopra fa si che dal campo circoscrizione vengano tolti gli underscore....e contemporaneamente però mi permette ancora di poter individuare (scegliendo il quartiere) la circoscrizione corrispondente.....Scelgo il quartiere....lo visualizzo...mi trova la CIRCOSCRIZIONE ad esempio PRIMA___ con 4 underscore e mi toglie gli underscore. E fin qui funziona bene.
    Tolgo gli underscore perchè visivamente sono brutti da vedere....ma mi serve che sul DB rimangano....ora il problema è che una volta fatto il submit il valore del campo circoscrizione diventa a tutti gli effetti PRIMA (senza gli underscore) e si memorizza sul db questo valore che privo degli underscore mi impedisce poi, riprendendo la scheda utente, di risalire al quartiere (ricordo che proprio gli underscore sono la discriminante tra i quartieri della PRIMA).
    Ecco il codice:


    Codice PHP:
    <tr>
                <td style="width: 206px; height: 31;" class="auto-style46">
                Quartiere</td>
                <td class="auto-style45" style="height: 31; ">
        <select onchange="circoscrizione.value=this.value.replace(/_*$/, ''); changeImage(this.form)" name="quartiere">
        <option value="Mappa_quartieri_Palermo">-- selezionare --</option>
        <option value="PRIMA__" <?php if ($row['circoscrizione']=="PRIMA__") print "selected" ?>>Tribunali-Castellammare</option>
        <option value="PRIMA_"<?php if ($row['circoscrizione']=="PRIMA_") print "selected" ?>>Palazzo Reale-Monte di Pietà</option>
        <option value="SECONDA-TERZA"<?php if ($row['circoscrizione']=="SECONDA-TERZA") print "selected" ?>>Oreto-Stazione</option>
        <option value="QUARTA_____"<?php if ($row['circoscrizione']=="QUARTA_____") print "selected" ?>>Montegrappa-Santa Rosalia</option>
        <option value="QUARTA___"<?php if ($row['circoscrizione']=="QUARTA___") print "selected" ?>>Cuba-Calatafimi</option>
        <option value="QUINTA____"<?php if ($row['circoscrizione']=="QUINTA____") print "selected" ?>>Zisa</option>
        <option value="QUINTA_"<?php if ($row['circoscrizione']=="QUINTA_") print "selected" ?>>Noce</option>
        <option value="OTTAVA__"<?php if ($row['circoscrizione']=="OTTAVA__") print "selected" ?>>Malaspina-Palagonia</option>
        <option value="OTTAVA____"<?php if ($row['circoscrizione']=="OTTAVA____") print "selected" ?>>Politeama</option>
        <option value="SECONDA__"<?php if ($row['circoscrizione']=="SECONDA__") print "selected" ?>>Settecannoli</option>
        <option value="SECONDA_"<?php if ($row['circoscrizione']=="SECONDA_") print "selected" ?>>Brancaccio-Ciaculli</option>
        <option value="TERZA"<?php if ($row['circoscrizione']=="TERZA") print "selected" ?>>Villagrazia-Falsomiele</option>
        <option value="QUARTA____"<?php if ($row['circoscrizione']=="QUARTA____") print "selected" ?>>Mezzomonreale-Villatasca</option>
        <option value="QUARTA_"<?php if ($row['circoscrizione']=="QUARTA_") print "selected" ?>>Altarello</option>
        <option value="QUARTA__"<?php if ($row['circoscrizione']=="QUARTA__") print "selected" ?>>Boccadifalco</option>
        <option value="QUINTA___"<?php if ($row['circoscrizione']=="QUINTA___") print "selected" ?>>Uditore-Passo di Rigano</option>
        <option value="QUINTA__"<?php if ($row['circoscrizione']=="QUINTA__") print "selected" ?>>Borgo Nuovo</option>
        <option value="SESTA_"<?php if ($row['circoscrizione']=="SESTA_") print "selected" ?>>Cruillas-San Giovanni Apostolo</option>
        <option value="SESTA__"<?php if ($row['circoscrizione']=="SESTA__") print "selected" ?>>Resuttana-San Lorenzo</option>
        <option value="SETTIMA____"<?php if ($row['circoscrizione']=="SETTIMA____") print "selected" ?>>Tommaso Natale-Sferracavallo</option>
        <option value="SETTIMA___"<?php if ($row['circoscrizione']=="SETTIMA___") print "selected" ?>>Partanna-Mondello</option>
        <option value="SETTIMA__"<?php if ($row['circoscrizione']=="SETTIMA__") print "selected" ?>>Pallavicino</option>
        <option value="OTTAVA___"<?php if ($row['circoscrizione']=="OTTAVA___") print "selected" ?>>Montepellegrino</option>
        <option value="SETTIMA_"<?php if ($row['circoscrizione']=="SETTIMA_") print "selected" ?>>Arenella-Vergine Maria</option>
        <option value="OTTAVA_"<?php if ($row['circoscrizione']=="OTTAVA_") print "selected" ?>>Libertà</option>
        </select>
    </td>
                <td class="auto-style46" style="height: 31; ">
                Circoscrizione</td>
                <td class="auto-style45" style="height: 31; ">
          <input name="circoscrizione" type="text" class="auto-style1" id="circoscrizione" style="width: 160px" readonly="readonly" value="<?php print $row['circoscrizione']; ?>" /></td>
                </tr>

    Ora credo di aver spiegato perchè lato server non posso toglierli....e perchè togliendoli lato client ho un problema COMUNQUE.....

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che se spiegavi subito cosi non avresti perso (e fatto perdere) tempo, e che io avrei usato un altro tipo di codifica ad esempio numerica sarebbe stata molto più funzionale ed esteticamente più gradevole tipo:
    0001 = Tribunali Castellammare
    0002 = Palazzo Reale-Monte di Pietà
    Avendo usato quel tipo di codifica non puoi togliere i trattini (underscore) brutti o belli che siano, perché altrimenti ti cambia il codice, oppure forse potresti prelevare il testo della option (es:Tribunali Castellammare) e prima di processarlo lato server lo ricodifichi Tribunali Castellammare = PRIMA_
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Andrea cos' la spiegazione è molto più lunga e coinvolge anche un vasto ambito PHP che non è di pertinenza diretta di questa sezione del forum...ecco perchè non ho dato prima una specifica così approfondita.

    E quindi? Che faccio? M'attacco...come dicono dalle mie parti?

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma perche' complicarti la vita?
    scrivi il .text dell' option selezionata nel campo readonly e il value vero e proprio, l' unico che andrai a considerare lato server, in un campo hidden

    onchange="document.nomeForm.circoscrizione.value=this.options[this.selectedIndex].text; document.nomeForm.nomeCampoHidden.value=this.value; ...etc etc..."

    ciao

  9. #9
    Perdonami Xninod...ma la mia poca esperienza non mi permette di seguire il tuo ragionamento per come si deve.
    Ho cercato di fare come mi hai detto modificando questa riga:
    codice:
      
    <select onchange="circoscrizione.value=this.value.replace(/_*$/, ''); changeImage(this.form)" name="quartiere">
    In questo modo:
    codice:
    <select onchange="circoscrizione.value=this.options[this.selectedIndex].text; circoscrizhid.value=this.valu" name="quartiere">
    Ma non va come dovrebbe...adesso nella textbox circoscrizione leggo lo stesso contenuto della textbox quartiere...:/

    Hmmmmm........


    Originariamente inviato da Xinod
    ma perche' complicarti la vita?
    scrivi il .text dell' option selezionata nel campo readonly e il value vero e proprio, l' unico che andrai a considerare lato server, in un campo hidden

    onchange="document.nomeForm.circoscrizione.value=this.options[this.selectedIndex].text; document.nomeForm.nomeCampoHidden.value=this.value; ...etc etc..."

    ciao

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.