Avatar billede jedimaster Nybegynder
22. marts 2006 - 07:50 Der er 1 kommentar og
1 løsning

Få scriptet til at tælle til 10

Hey.
Jeg har lavet en kode (se neden under) der viser en textbox. I den skal brugeren skrive et navn. Men nogle gange er der brug for, at brugeren kan skrive flere navne. Så har jeg (med stor hjælp fra brugere på eksperten.dk) lavet det sådan, at der kommer et ekstra felt frem, som brugeren kan skrive i. Dog er det spild af tid hvis brugeren skal skrive allerede indtastede navne ind, så har jeg lavet en funktion, hvor man kan klikke på "find navn", og så kommer der et layer frem, hvor man finde navnet og få det over i textboksen. Så langt så godt.

Nu til spørgsmålet: Jeg kan imidlertid kun få funktionen til at "overføre" et kendt navn til den første tekstboks (navn1), men ikke de efterfølgende. Hvordan gør jeg det?

Jeg havde selv tænkt på at lave et "find navn" funktion for hver textboks, men jeg kan ikke få overførselsscriptet til at tælle til 10 - hvis I forstår.

<script type="text/javascript">
      function ch(n)
      {
        if ( n < 10 && document.getElementById('n'+n).value != '')
        {
          document.getElementById('field' + (n+1)).style.display = 'block';
        }
      }
    </script>
   
<script language="JavaScript"><!--
function show(object) {
    if (document.layers && document.layers[object])
        document.layers[object].visibility = 'visible';
    else if (document.all) {
        document.all[object].style.visibility = 'visible';
        document.all[object].style.zIndex = 100;
        document.all[object].style.azimuth = 'behind';
    }
}
function hide(object) {
    if (document.layers && document.layers[object])
        document.layers[object].visibility = 'hidden';
    else if (document.all)
        document.all[object].style.visibility = 'hidden';
}
//--></script>
   
</head>
<body >
<form name="form1">

<input type="text" name="navn1" id="n1" size="25" onFocus="ch(1)">
                           
                                <?php

  for ( $i = 2; $i <= 10; $i++)
  {
?>
                                <div id="field<?= $i ?>" style="display: none"><br>
                                  <input type="text" size="25"  name="navn<?= $i ?>" id="n<?= $i ?>" onFocus ="ch(<?= $i ?>)" > 
                                  <br>
                                </div>
                              <?php
  }
?> <a onClick="show('myId')">>søg navn</a>
                              <div id="myId" style="position:absolute; visibility:hidden; azimuth:behind; background-color:#CCCCCC;" >
                              <SCRIPT LANGUAGE="JavaScript"><!--
function updateTextField() {
    document.indsaet.navn1.value =
        document.indsaet.select_navn1.options[document.indsaet.select_navn1.selectedIndex].text
}
//--></SCRIPT>
<table width="100" border="1" cellpadding="0" cellspacing="0" bordercolor="#333333">
  <tr>
    <td bordercolor="#CCCCCC"><SELECT NAME="select_navn1" onChange="updateTextField()">
      <?php
do { 
?>
      <option value="<?php echo $row_navn['id']?>"><?php echo $row_navn['efternavn']?>, <?php echo $row_navn['fornavn']?></option>
      <?php
} while ($row_forfatter = mysql_fetch_assoc($navn));
  $rows = mysql_num_rows($navn);
  if($rows > 0) {
      mysql_data_seek($navn, 0);
      $row_navn = mysql_fetch_assoc($navn);
  }
?>
    </SELECT></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC"><input type="button" onClick="hide('myId'); this.form.navn1.focus()" value="Ok"></td>
  </tr>
</table>
</div></td>

</form>
Avatar billede jedimaster Nybegynder
22. marts 2006 - 07:53 #1
tror der står forfatter et sted - det er en fejl. Der skal stå navn.

} while ($row_forfatter = mysql_fetch_assoc($navn)); - skal være
} while ($row_navn = mysql_fetch_assoc($navn));
Avatar billede jedimaster Nybegynder
22. marts 2006 - 17:18 #2
Hmm
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