Avatar billede kim.lundsteen Nybegynder
29. august 2008 - 10:48 Der er 7 kommentarer og
1 løsning

Resultat af select multiple i disabled text felt

Jeg har lavet en form hvor brugerne kan vælge 1 eller flere lande.
Jeg vil gerne præsentere de valg brugerne vælger, i en disable textbox ved siden af feltet.

Men, hvis brugere vælge eks. 10 lande så kan resultatet ikke stå i et enkelt text felt. Kan det fixes? Har forsøgt med textarea, men kan ikke få det til at spille.

***************
<Body>
<head></head>

<script type="text/javascript">


function updatecountry(ctlName) {
  var inputs = document.getElementsByTagName('INPUT');
  var options = document.getElementById('selectcountry').options;
  var selValue = '';
  for(var i = 0; i < options.length; i++)
    if(options[i].selected)
      selValue += options[i].value + " ";

  for(var i = 0; i < inputs.length; i++)
    if(inputs[i].id == ctlName)
      inputs[i].value = selValue;
}
</script>

<!-- WEBFORMULAR START -->

<form>
<table width="620" height="473" border="0">
    <TD colspan="3"><HR>
  </TD>
  <tr>
<!-- LISTE FOR LANDE -->
    <td width="111" height="86"><p>Land/Lande</p>
      <p>&nbsp;</p>
    </td>
    <td>
      <select multiple id="selectcountry" onchange="updatecountry('inputcountry');" size="3">
    <option value="Danmark  ">Danmark  </option>
    <option value="Sverige  ">Sverige  </option>
    <option value="Norge    ">Norge    </option>
    <option value="Finland  ">Finland  </option>
    <option value="Tyskland  ">Tyskland </option>
    <option value="England  ">England  </option>
    <option value="Skotland  ">Skotland </option>
    <option value="Afrika    ">Afrika  </option>
    <option value="Amerika  ">Amerika  </option>
    <option value="Asien    ">Asien    </option>
    <option value="Europa    ">Europa  </option>
      </select> 
    </td>
    <td>
      <input disabled="disabled" readonly type="text" id="inputcountry" name="country" size=20 value=" " ><br>
    </td>
  </tr>
</table>
</form>
<!-- WEBFORMULAR SLUT -->

*********

Det er linien med <input> jeg søger en løsning på!
Avatar billede ssv Nybegynder
29. august 2008 - 10:56 #1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Titel</title>
<script type="text/javascript">
function updatecountry(ctlName) {
  var inputs = document.getElementsByTagName('textarea');
  var options = document.getElementById('selectcountry').options;
  var selValue = '';
  for(var i = 0; i < options.length; i++)
    if(options[i].selected)
      selValue += options[i].value + " ";

  for(var i = 0; i < inputs.length; i++)
    if(inputs[i].id == ctlName)
      inputs[i].value = selValue;
}
</script>
</head>

<body>
<!-- WEBFORMULAR START -->

<form>
<table width="620" height="473" border="0">
    <TD colspan="3"><HR>
  </TD>
  <tr>
<!-- LISTE FOR LANDE -->
    <td width="111" height="86"><p>Land/Lande</p>
      <p>&nbsp;</p>
    </td>
    <td>
      <select multiple id="selectcountry" onchange="updatecountry('inputcountry');" size="4">
    <option value="Danmark ">Danmark  </option>
    <option value="Sverige ">Sverige  </option>
    <option value="Norge  ">Norge    </option>
    <option value="Finland ">Finland  </option>
    <option value="Tyskland ">Tyskland </option>
    <option value="England ">England  </option>
    <option value="Skotland ">Skotland </option>
    <option value="Afrika  ">Afrika  </option>
    <option value="Amerika ">Amerika  </option>
    <option value="Asien  ">Asien    </option>
    <option value="Europa  ">Europa  </option>
      </select> 
    </td>
    <td>
    <textarea disabled="disabled" readonly type="text" id="inputcountry" name="country" style="width: 250px; height: 65px; overflow: auto;"></textarea>
    </td>
  </tr>
</table>
</form>
<!-- WEBFORMULAR SLUT -->

</html>
</body>

--
Fungerer fint hos mig :-)
Avatar billede kim.lundsteen Nybegynder
29. august 2008 - 10:59 #2
Du er intet mindre end en STJERNE i min bog - Det spille nøjagtigt som jeg vil have det... Smid et svar og pointene er dine!!!
Avatar billede ssv Nybegynder
29. august 2008 - 11:01 #3
Og her er så et svar ;-)
Avatar billede roenving Novice
29. august 2008 - 18:36 #4
Hvadfor medsender du ikke referencen til selecten (eller helt udelader parametre, det giver vel alligevel kun mening at have funktionen een gang, bortset fra helt særlige situationer ?-)

<select multiple id="selectcountry" onchange="updatecountry('inputcountry',this);" size="4">

...

<script type="text/javascript">
function updatecountry(ctlName, sel) {
  var options = sel.options;
  var selValue = "";
  for(var i=0,im=options.length;im>i;i++)
    if(options[i].selected)
      selValue += options[i].value + " ";
  document.getElementById(ctlName).value = selValue;
</script>

-- og det virker helt skørt at du skal løbe dokumentet igennem for at finde et element med et bestemt id, der må jo alligevel kun være eet element med det id ...
Avatar billede kim.lundsteen Nybegynder
01. september 2008 - 08:43 #5
Det har du ganske ret i.
Jeg kunne blot ikke få det til at virke. Din ide, kan jeg heller ikke til at få til at spille med ovenstående eksempel..
Avatar billede roenving Novice
02. september 2008 - 00:44 #6
-- argh, der manglede jo en slut-tuborg på funktionen:

<script type="text/javascript">
function updatecountry(ctlName, sel) {
  var options = sel.options;
  var selValue = "";
  for(var i=0,im=options.length;im>i;i++)
    if(options[i].selected)
      selValue += options[i].value + " ";
  document.getElementById(ctlName).value = selValue;
}
</script>
Avatar billede kim.lundsteen Nybegynder
02. september 2008 - 12:33 #7
Den havde jeg nu selv sat - Jeg havde blot glemt at opdatere select feltet med this !! Nu spiller det - Tak ROENVING!!
Avatar billede roenving Novice
04. september 2008 - 10:31 #8
Velbekomme !~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester