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

    Copiare valore di una select in un input

    salve a tutti
    ho il seguente script che mi consente di cpiare il contenuto di un input su altro input, lo script è il seguente:

    <script>
    function copy(){
    var campoa = document.getElementById("campoa");
    var campob = document.getElementById("campob");

    campob.value = campoa.value;
    }
    </script>
    ed infine:

    <input type="text" name="campoa" id="campoa" onkeyup="copy();" />
    <input type="text" name="campob" id="campob" onFocus=select(); />
    il tutto funziona bene, se però invece di input faccio select non funziona... come mai? ovvero:

    <select name="campoa" id="campoa" onkeyup="copy();">
    <option value="uno">uno</option>
    <option value="due">due</option>
    </select>
    ..............
    EGwebm.com
    ..............

  2. #2
    perché la select ha un altro modo di gestire la cosa:
    la select non ha un "value" ma una lista di option e l'indice della option selezionata

    quindi
    campob.value = campoa.value;

    diventa

    campob.value = campoa.options[campoa.selectedIndex].value;

    P.S. il titolo che hai dato al thread non è molto corretto, dovevi chiamarlo "Copiare valore di una select in un input"

  3. #3
    grazie infinite per la risposta,
    ho provato come descritto ma il risultato non cambia,
    nel campo input non visualizzo il contenuto del value dentro l'option....

    mmmm cosa mi sfugge?!?!
    ..............
    EGwebm.com
    ..............

  4. #4
    Non metterei l'evento onkeyup su una select, ma l'evento onchange:
    codice:
    <html>
    <head>
    <title>Prova</title>
    <script type="text/javascript">
    function copy(){
    var campoa = document.getElementById("campoa");
    var campob = document.getElementById("campob");
    
    campob.value = campoa.options[campoa.selectedIndex].value;
    }
    </script>
    </head>
    <body>
    <form name="nomeform">
    <select name="campoa" id="campoa" onchange="copy();">
    <option value="uno">uno</option>
    <option value="due">due</option>
    </select> 
    
    
    <input type="text" name="campob" id="campob" onfocus=select(); />
    </form>
    </body>
    </html>
    Un'altra cosa: gli eventi onqualcosa vanno scritti tutti minuscoli, quindi:
    onfocus e non onFocus


    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Originariamente inviato da homezappa
    Un'altra cosa: gli eventi onqualcosa vanno scritti tutti minuscoli, quindi:
    onfocus e non onFocus
    Lo dici perchè ci sono browser sui quali non funzionano gli eventi definiti con le maiuscole?

  6. #6
    no, lo dico dopo avere letto il DTD di definizione dei tags XHTML dal W3C
    (Estratto dal DTD xhtml1-transitional.dtd ):
    codice:
    <!-- attributes for elements that can get the focus
      accesskey   accessibility key character
      tabindex    position in tabbing order
      onfocus     the element got the focus
      onblur      the element lost the focus
    -->
    <!ENTITY % focus
     "accesskey   %Character;    #IMPLIED
      tabindex    %Number;       #IMPLIED
      onfocus     %Script;       #IMPLIED
      onblur      %Script;       #IMPLIED"
      >
    .. e di maiuscole non ne vedo!

    ciao!
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  7. #7
    ah, ok, è solo perché mi sarei preoccupato, nei primi siti che ho fatto facevo abbondante uso di sintassi DOM0 e mi avrebbe stufato non poco sapere che con qualche browser non funzionavano

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.