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

    Disabilitare campo text associato a select!

    Salve, ho questo script che permette all'utente di scegliere da una select dei valori ed in base alla scelta, in un campo text viene mostrato il relativo testo.
    Fin qui tutto bene, tuttavia avrei la necessità di evitare che in alcune scelte il testo venga modificato dall'utente.

    In questo caso ad esempio se si seleziona "Non disponibile" o "Gratuito" vorrei che il capo di testo venga disabilitato nella modifica.

    Qualcuno può aiutarmi visto che non conosco per nulla il JS?

    Grazie.

    Codice PHP:

    <form name="combowithtext">


    <
    select name="Prezzo_Digitale" size="1" onChange="showtext()">
    <
    option value="ND" selected>Non disponibile</option>
    <
    option value="0,00">Prezzo</option>
    <
    option value="Gratuito">Gratuito</option>
    </
    select>

    <
    input type="text" wrap="virtual" name="Prezzo_digit" size="10">


    <
    script language="javascript">
    <!--
    var 
    shortcut=document.combowithtext
    var descriptions=new Array()

    //extend this list if neccessary to accomodate more selections
    descriptions[0]="ND"
    descriptions[1]="0,00"
    descriptions[2]="Gratuito"

    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]
    function 
    gothere(){
    location=shortcut.Prezzo_Digitale.options[shortcut.Prezzo_Digitale.selectedIndex].value
    }

    function 
    showtext(){
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]
    }

    //-->
    </script>

    </form> 

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Disabilitare campo text associato a select!

    Prova cosi:

    Codice PHP:

    <form name="combowithtext">


    <
    select name="Prezzo_Digitale" size="1" onChange="showtext(this.options.selectedIndex)">
    <
    option value="ND" selected>Non disponibile</option>
    <
    option value="0,00">Prezzo</option>
    <
    option value="Gratuito">Gratuito</option>
    </
    select>

    <
    input type="text" wrap="virtual" name="Prezzo_digit" size="10">


    <
    script language="javascript">
    <!--
    var 
    shortcut=document.combowithtext
    var descriptions=new Array()

    //extend this list if neccessary to accomodate more selections
    descriptions[0]="ND"
    descriptions[1]="0,00"
    descriptions[2]="Gratuito"

    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]
    function 
    gothere(){
    location=shortcut.Prezzo_Digitale.options[shortcut.Prezzo_Digitale.selectedIndex].value
    }

    function 
    showtext(sel){
    if(
    sel==1)
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]
    else 
    shortcut.Prezzo_digit.disabled=true;
    }

    //-->
    </script>

    </form> 
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Grazie per il codice, l'ho provato e adattato un po', ora funziona bene (o quasi).
    Non so se il codice sia corretto ma funziona, tuttavia ora c'è un problema, ovvero i dati contenuti nel campo di testo quando questo è su disabled=true, non vengono inviati dal form.
    Quindi forse andrebbe usata qualche altra proprietà. Ho provato con readonly ma non mi funziona, anche se potrei sbagliare io in qualche passaggio.



    Questo è il codice allo stato attuale:

    Codice PHP:


    <form name="combowithtext"


    <
    select name="Prezzo_Digitale" size="1" onChange="showtext(this.options.selectedIndex)"
    <
    option value="ND" selected>Non disponibile</option
    <
    option value="0,00">Prezzo</option
    <
    option value="Gratuito">Gratuito</option
    </
    select

    <
    input disabled="true" type="text" wrap="virtual" name="Prezzo_digit" size="10"


    <
    script language="javascript"
    <!-- 
    var 
    shortcut=document.combowithtext 
    var descriptions=new Array() 

    //extend this list if neccessary to accomodate more selections
    descriptions[0]="ND" 
    descriptions[1]="0,00"
    descriptions[2]="Gratuito"

    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex
    function 
    gothere(){ 
    location=shortcut.Prezzo_Digitale.options[shortcut.Prezzo_Digitale.selectedIndex].value 


    function 
    showtext(sel){ 

    if(
    sel==0) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.disabled=true;
        } 
    else if(
    sel==1) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.disabled=false;
        } 
    else if(
    sel==2) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.disabled=true;
        } 

    //--> 
    </script> 

    </form> 

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    shortcut.Prezzo_digit.readonly='readonly';
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    il readonly ora risponde, ma troppo. Nel senso che funziona su tutti i campi.
    C'è un comando per disattivarlo temporaneamente dove è indicato nella freccia?






    Codice PHP:

    <form name="combowithtext"


    <
    select name="Prezzo_Digitale" size="1" onChange="showtext(this.options.selectedIndex)"
    <
    option value="ND" selected>Non disponibile</option
    <
    option value="0,00">Prezzo</option
    <
    option value="Gratuito">Gratuito</option
    </
    select

    <
    input readonly="readonly" type="text" wrap="virtual" name="Prezzo_digit" size="10"


    <
    script language="javascript"
    <!-- 
    var 
    shortcut=document.combowithtext 
    var descriptions=new Array() 

    //extend this list if neccessary to accomodate more selections
    descriptions[0]="ND" 
    descriptions[1]="0,00"
    descriptions[2]="Gratuito"

    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex
    function 
    gothere(){ 
    location=shortcut.Prezzo_Digitale.options[shortcut.Prezzo_Digitale.selectedIndex].value 


    function 
    showtext(sel){ 

    if(
    sel==0) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.readonly='readonly';
        } 
    else if(
    sel==1) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.readonly='readonly';   <======================================== 
        } 
    else if(
    sel==2) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.readonly='readonly';
        } 

    //--> 
    </script> 

    </form> 

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    shortcut.Prezzo_digit.readonly='';
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Ok ora va, però ho dovuto scrivere readOnly con la O maiuscola!

    Domani lo provo con l'invio del dati del form, ma in teoria dovrebbe andare

    Ti ringrazio cavicchiandrea per l'aiuto.

    Ah, allego il codice completo così se può servire, eccolo bello e pronto


    Codice PHP:

    <form name="combowithtext"


    <
    select name="Prezzo_Digitale" size="1" onChange="showtext(this.options.selectedIndex)"
    <
    option value="ND" selected>Non disponibile</option
    <
    option value="0,00">Prezzo</option
    <
    option value="Gratuito">Gratuito</option
    </
    select

    <
    input readonly="readonly" type="text" wrap="virtual" name="Prezzo_digit" size="10"


    <
    script language="javascript"
    <!-- 
    var 
    shortcut=document.combowithtext 
    var descriptions=new Array() 

    //extend this list if neccessary to accomodate more selections
    descriptions[0]="ND" 
    descriptions[1]="0,00"
    descriptions[2]="Gratuito"

    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex
    function 
    gothere(){ 
    location=shortcut.Prezzo_Digitale.options[shortcut.Prezzo_Digitale.selectedIndex].value 


    function 
    showtext(sel){ 

    if(
    sel==0) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.readOnly='readonly';
        } 
    else if(
    sel==1) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.readOnly='';
        } 
    else if(
    sel==2) {
    shortcut.Prezzo_digit.value=descriptions[shortcut.Prezzo_Digitale.selectedIndex]; 
    shortcut.Prezzo_digit.readOnly='readonly';
        } 

    //--> 
    </script> 

    </form> 

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.