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

    Modifica dei records tag select

    salve ho un problemino devo modificare alcune pagine fatte da altri
    allora la pagina in questione presenta una form con i dati presenti in quel momento nel database
    quindi dopo aver scelto il record da modificare si recuperano tutti i dati che vengono presentati in questo modo

    per i textBox non ci sono problemi

    <input type="text" name="locali" size="5" maxlength="5" value="<%=rs("locali")%>">

    per le select invece diventa un po' più lunga la cosa

    <select name="riscaldamento">
    <%IF rs("riscaldamento") = "Autonomo" THEN%>
    <option value="Autonomo" selected>Autonomo</option>
    <option value="Centralizzato">Centralizzato</option>
    <%ELSEIF rs("riscaldamento") = "Centralizzato" THEN%>
    <option value="Autonomo">Autonomo</option>
    <option value="Centralizzato" selected>Centralizzato</option>
    <%END IF%>
    </select>

    e nella select ci sono solo due possibilità ben peggio è il discorso se le voci della select sono 14 o 15 !
    suggerimenti per evitare di scrivere una pagina enorme ?

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Presumo un'anagrafica delle tipologie (riscaldamento o altro) non esista e quindi le voci devi comunque scriverle una volta.
    Puoi risparmiare un po' facendo così:

    codice:
    <select name="riscaldamento">
    <option value="Autonomo"<%IF rs("riscaldamento") = "Autonomo" THEN%>  selected="selected"<%end if%>>Autonomo</option>
    <option value="Centralizzato"<%IF rs("riscaldamento") = "Centralizzato" THEN%>  selected="selected"<%end if%>>Centralizzato</option>
    ...
    ...
    </select>
    Che alla fine è sempre e solo una riga per ogni elemento.

    Roby

  3. #3
    esatto in effetti pensavo anch'io ad una cosa simile !

    almeno il numero di righe rimane uguale !

    avrei un'altra cosa riguardante sempre due select una dipendente dall'altra (con la seconda che cambia quando nella prima viene selezionato un elemento !)

    solo che il codice JS che mi genera la seconda select è piuttosto lungo non vorrei intasare inutilmente il forum !
    come posso fare ?

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La seconda select non ti dovrebbe generare la select...
    Dovresti semplicemente passare l'elemento scelto ed in base a quello caricare la select dipendente.

    Roby

  5. #5
    il problema è che nella prima select avrò dei valori e in base a quel valore avrò una seconda select con degli item ben precisi !
    non so se mi sono spiegato bene

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Fai una ricerca nel forum per "onchange".

    Roby

  7. #7
    ti riporto un frammento di codice che attualmente utilizzo per INSERIRE i records

    la prima select è cosi composta

    <SELECT name="og" onchange="javascript:make_o_list();">
    <option value="---">---</option>
    <option value="1">immobili residenziali</option>
    <option value="4">immobili turistici</option>
    <option value="6">immobili commerciali</option>
    <option value="9">box-posto auto</option>
    <option value="11">terreni</option>
    <option value="13">attività commerciali</option>
    </SELECT>


    la seconda viene creata con del codice JS
    a livello di HTML è cosi
    <SELECT name="o">
    <option value="---">---</option>
    </SELECT>


    questa è la funzione JS richiamata all'evento onChange sulla prima SELECT

    function make_o_list() {
    selected_og=document.frm_add.og.options[document.frm_add.og.selectedIndex].value;

    while (document.frm_add.o.length > 1)
    document.frm_add.o.options[document.frm_add.o.options.length - 1] = null;
    document.frm_add.o.options[0] = new Option ('---','---');
    array = eval("objects_of_"+selected_og);
    for (i=0; i<array.length; i+=2) {
    document.frm_add.o.options[i/2+1] = new Option (array[i+1],array[i]);
    }
    }


    questo è uno spezzone microscopico dei valori che verranno poi inseriti nella seconda select

    var objects_of_1 = new Array();

    aaa=objects_of_1.push("1");
    bbbb="appartamento";
    document.getElementById('qqq').innerHTML=bbbb;
    bbbb=document.getElementById('qqq').innerHTML;
    aaa=objects_of_1.push(bbbb);
    "1" , "appartamento"

    come posso ricreare la stessa cosa in fase di modifica ?

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.