Avatar billede ssv Nybegynder
06. oktober 2008 - 17:13 Der er 3 kommentarer og
1 løsning

Tilføjelse til Hent værdi til select

Hello.

Jeg skal bruge en tilføjelse til et script jeg fik lavet tidligere her af roenving. Følgende er et udklip af en asp-fil som bliver includet i indholdet på siden - derfor ingen doc-type osv.:

<script type="text/javascript">
function marker(elm, part){
  var sel = elm.parentNode.getElementsByTagName("select")[0];
  for(i=0, im=sel.length; im>i; i++){
    if(sel.options[i].value.toLowerCase() == part.toLowerCase()){
      sel.options[i].selected = true;
      var links = elm.parentNode.getElementsByTagName("a");
      for(j=0,jm=links.length;jm>j;j++)
        links[j].style.backgroundImage = "";
      elm.style.backgroundImage = "url(http://proads.dk/simon/get/images/" + part + "Hover.gif)";
      return;
    }
  }
}
</script>

<h1>Overskrift</h1>

<form method="post" action="blank.asp">

<div class="group">
<h2>Krop 1</h2>
<a class="head" href="#" onclick="marker(this,'1');return false;"></a>
<a class="body" href="#" onclick="marker(this,'2');return false;"></a>
<a class="legs" href="#" onclick="marker(this,'3');return false;"></a>

<select name="player1_throw1" class="hide">
  <option>Kropsdel</option>
  <option value="1">Hoved</option>
  <option value="2">Mave</option>
  <option value="3">Ben</option>
</select>
</div>

<div class="group">
<h2>Krop 2</h2>
<a class="head" href="#" onclick="marker(this,'1');return false;"></a>
<a class="body" href="#" onclick="marker(this,'2');return false;"></a>
<a class="legs" href="#" onclick="marker(this,'3');return false;"></a>

<select name="player1_throw2" class="hide">
  <option>Kropsdel</option>
  <option value="1">Hoved</option>
  <option value="2">Mave</option>
  <option value="3">Ben</option>
</select>
</div>

<div class="group" style="border:0;">
<h2>Krop 3</h2>
<a class="head" href="#" onclick="marker(this,'1');return false;"></a>
<a class="body" href="#" onclick="marker(this,'2');return false;"></a>
<a class="legs" href="#" onclick="marker(this,'3');return false;"></a>

<select name="player1_throw3" class="hide">
  <option>Kropsdel</option>
  <option value="1">Hoved</option>
  <option value="2">Mave</option>
  <option value="3">Ben</option>
</select>
</div>

<div style="clear: both;"></div>

<br><br><input type="submit" value="Videre">
</form>

--

Hvis en bruger ikke har valgt noget af ovenstående skal de mødes med en standard alert-box når de prøver at submitte. I det jeg intet ved om javascript regner jeg med at det er noget i kan klare :-)
Avatar billede w13 Novice
06. oktober 2008 - 17:30 #1
<script type="text/javascript">
function marker(elm, part){
  var sel = elm.parentNode.getElementsByTagName("select")[0];
  for(i=0, im=sel.length; im>i; i++){
    if(sel.options[i].value.toLowerCase() == part.toLowerCase()){
      sel.options[i].selected = true;
      var links = elm.parentNode.getElementsByTagName("a");
      for(j=0,jm=links.length;jm>j;j++)
        links[j].style.backgroundImage = "";
      elm.style.backgroundImage = "url(http://proads.dk/simon/get/images/" + part + "Hover.gif)";
      return;
    }
  }
}

function validateForm(o){
  if(!o.player1_throw1.value||!o.player1_throw2.value||!o.player1_throw3.value){
    alert("Du har ikke udfyldt alle felter!");
  return false;
  }
  return true;
}
</script>

<h1>Overskrift</h1>

<form method="post" action="blank.asp" onsubmit="return validateForm(this)">

<div class="group">
<h2>Krop 1</h2>
<a class="head" href="#" onclick="marker(this,'1');return false;"></a>
<a class="body" href="#" onclick="marker(this,'2');return false;"></a>
<a class="legs" href="#" onclick="marker(this,'3');return false;"></a>

<select name="player1_throw1" class="hide">
  <option>Kropsdel</option>
  <option value="1">Hoved</option>
  <option value="2">Mave</option>
  <option value="3">Ben</option>
</select>
</div>

<div class="group">
<h2>Krop 2</h2>
<a class="head" href="#" onclick="marker(this,'1');return false;"></a>
<a class="body" href="#" onclick="marker(this,'2');return false;"></a>
<a class="legs" href="#" onclick="marker(this,'3');return false;"></a>

<select name="player1_throw2" class="hide">
  <option>Kropsdel</option>
  <option value="1">Hoved</option>
  <option value="2">Mave</option>
  <option value="3">Ben</option>
</select>
</div>

<div class="group" style="border:0;">
<h2>Krop 3</h2>
<a class="head" href="#" onclick="marker(this,'1');return false;"></a>
<a class="body" href="#" onclick="marker(this,'2');return false;"></a>
<a class="legs" href="#" onclick="marker(this,'3');return false;"></a>

<select name="player1_throw3" class="hide">
  <option>Kropsdel</option>
  <option value="1">Hoved</option>
  <option value="2">Mave</option>
  <option value="3">Ben</option>
</select>
</div>

<div style="clear: both;"></div>

<br><br><input type="submit" value="Videre">
</form>
Avatar billede w13 Novice
06. oktober 2008 - 17:30 #2
if(!o.player1_throw1.value||!o.player1_throw2.value||!o.player1_throw3.value){
skal nok være:
  if(!o.player1_throw1.selectedIndex||!o.player1_throw2.selectedIndex||!o.player1_throw3.selectedIndex){
Avatar billede ssv Nybegynder
06. oktober 2008 - 17:44 #3
Jeg takker for det :-)
Avatar billede w13 Novice
06. oktober 2008 - 17:51 #4
Tak for points! :)
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