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>
