Avatar billede cyberdude Nybegynder
03. maj 2003 - 19:49 Der er 15 kommentarer og
1 løsning

opdater andre felter i form ud fra valget i fø..... DEL 2

Dette er en fortsættelse af
http://www.eksperten.dk/spm/344326
Hvor phoenixv kom med dette svar :
http://www.phoenixv.dk/exp/dropdown_tekst.html

Mennn... det var ikke alligevel helt det jeg havede brug for... da jeg nu efter at have lagt blot en del af mine vare ind i systemet, så bliver den der dropdown lang som bare pokker....... :-(

Så nu er mit spørgsmål, er der nogen der kan modificere den lidt så istedet for en dropdown, så er der blot et indtastnings felt hvor man indtaster varenummer.... og så ellers med samme funktion på de andre felter som det er nu...
Avatar billede roenving Novice
03. maj 2003 - 19:55 #1
Er det så ikke nogle kategorier, som kan opdele dine varer du skal have;

altså den dobbelte udgave af phoenixv's med en kategori-select som udfylder en vare-select, som så udfylder dine tekstfelter.

mvh
jes
Avatar billede cyberdude Nybegynder
03. maj 2003 - 19:59 #2
ikke lige umidlbart....
Avatar billede roenving Novice
03. maj 2003 - 20:07 #3
For så skal der jo checkes for validitet af indtastningen og derefter laves et opslag (f.eks. ved at klikke på en knap) -- hvis du kan undgå det spares mange fejl.
Avatar billede cyberdude Nybegynder
03. maj 2003 - 20:14 #4
hmm kan ikke helt følge dig... jeg vil indlæse ALLE mine vare i et array opsætning ala det phoenixv har i det han lavede...

Lidt ala det med at indtaste sit postnummer, hvorefter bynavnet automatisk dukker op når man har tastet 4 sifre ind (eller forlader feltet)
Avatar billede roenving Novice
03. maj 2003 - 20:29 #5
<html>
<head>
<script>
valg = new Array();

valg[0] = new Array();
  valg[0][0] = "";
  valg[0][1] = "";
 
valg[1] = new Array();
  valg[1][0] = "123456" //Varens nr
  valg[1][1] = "Dette er en vare 1" //Varens tekst
  valg[1][2] = "100 kr." //Varens pris
valg[2] = new Array();
  valg[2][0] = "234567" //Varens nr
  valg[2][1] = "Dette er en vare 2" //Varens tekst
  valg[2][2] = "101 kr." //Varens pris
valg[3] = new Array();
  valg[3][0] = "345678" //Varens nr
  valg[3][1] = "Dette er en vare 3" //Varens tekst
  valg[3][2] = "102 kr." //Varens pris

function opdater(inp) {
  for (i=0; i<valg.length-1; i++){
    if (valg[i][0] == inp.value) {
      inp.form.tekst.value = valg[i][1];
      inp.form.pris.value = valg[i][2];
      return true;
    }
  }
  inp.focus();
  return false;
}
</script>
</head>
<body>
<form>
<input type="text" onBlur="opdater(this);">
<br><br>
<table>
<tr>
<td>
Tekst:
</td>
<td>
<input type="text" name="tekst" readonly>
</td>
</tr>
<tr>
<td>
Pris:
</td>
<td>
<input type="text" name="pris" readonly>
</td>
</tr>
</table>
</form>
</body>
</html>

Sådan?
Avatar billede cyberdude Nybegynder
03. maj 2003 - 20:32 #6
<script language='javascript'>
var dineData = new Array();
dineData[6851] = "Janderup Vestj";
dineData[6852] = "Billum";
dineData[6853] = "Vejers Strand";
dineData[6854] = "Henne";
dineData[6855] = "Outrup";
dineData[6857] = "Blåvand";
dineData[6862] = "Tistrup";
dineData[6870] = "Ølgod";
dineData[6880] = "Tarm";
dineData[6893] = "Hemmet";
dineData[6900] = "Skjern";
function lookUp (postnrfelt) {

if (dineData[postnrfelt.value])
document.frm.bynavn.value = dineData[postnrfelt.value];
else {
alert( "ukendt postnummer: "+postnrfelt.value+", prøv igen" );
postnrfelt.focus();
}
}; //end lookUp ( Formfelt object )

</script>
<table>
<form action="" name="frm">
<tr><td>Postnummer</td><td><input type="text" name="postnr" size="30" maxlength="8" onkeyup="if(this.value.length==4){lookUp(this)};"></td></tr>
<tr><td>By</td><td><input type="text" name="bynavn" size="30" onfocus='this.blur';></td></tr>
<input type="submit">
</form>

Ovenstående script opdatere 1 felt med value alt efter hvad du nu indtaster i postnumme rfeltet... jeg skal have det til at opdatere 2 felter... men kan ikke se hvordan :-(
Avatar billede cyberdude Nybegynder
03. maj 2003 - 20:34 #7
yes præcist sådant... :-)
Avatar billede roenving Novice
03. maj 2003 - 20:36 #8
:-)
Avatar billede cyberdude Nybegynder
03. maj 2003 - 20:38 #9
og dog ikek helt... det funger fint hvis amn indskriver et af de 2 første varenummer du har oprettet som test numre... men ved det 3. fungere det ikke længere...... ?
Avatar billede roenving Novice
03. maj 2003 - 20:42 #10
for (i=1; i<valg.length; i++){

Tester det lige ...
Avatar billede roenving Novice
03. maj 2003 - 20:45 #11
Ja, phoenixv's springer jo nul over -- det er bestemt ikke javascript-standard, men i orden ...

Så for(... linjen skal skiftes ud

hth
jes
Avatar billede cyberdude Nybegynder
03. maj 2003 - 20:46 #12
har lige tilføjet lidt flere "vare"

valg = new Array();

valg[0] = new Array();
valg[0][0] = "0123";
valg[0][1] = "test vare 0123";
valg[0][2] = "122";
valg[1] = new Array();
valg[1][0] = "123456" //Varens nr
valg[1][1] = "Dette er en vare 1" //Varens tekst
valg[1][2] = "100 kr." //Varens pris
valg[2] = new Array();
valg[2][0] = "234567" //Varens nr
valg[2][1] = "Dette er en vare 2" //Varens tekst
valg[2][2] = "101 kr." //Varens pris
valg[3] = new Array();
valg[3][0] = "02345" //Varens nr
valg[3][1] = "Dette er en vare 3" //Varens tekst
valg[3][2] = "102 kr." //Varens pris
valg[4] = new Array();
valg[4][0] = "023" //Varens nr
valg[4][1] = "Dette er en vare 4" //Varens tekst
valg[4][2] = "104 kr." //Varens pris

Ved at sætte
for (i=1; i<valg.length; i++){
så virker valg[1+2+3] men ikke [0+4]
ved at sætte
for (i=0; i<valg.length; i++){
virker valg[0+1+2] men ikke [3+4]

Så der er et eller andet galt der...??
Avatar billede roenving Novice
03. maj 2003 - 20:52 #13
<html>
<head>
<script>
valg = new Array();

valg[0] = new Array();
valg[0][0] = "0123";
valg[0][1] = "test vare 0123";
valg[0][2] = "122";
valg[1] = new Array();
valg[1][0] = "123456" //Varens nr
valg[1][1] = "Dette er en vare 1" //Varens tekst
valg[1][2] = "100 kr." //Varens pris
valg[2] = new Array();
valg[2][0] = "234567" //Varens nr
valg[2][1] = "Dette er en vare 2" //Varens tekst
valg[2][2] = "101 kr." //Varens pris
valg[3] = new Array();
valg[3][0] = "02345" //Varens nr
valg[3][1] = "Dette er en vare 3" //Varens tekst
valg[3][2] = "102 kr." //Varens pris
valg[4] = new Array();
valg[4][0] = "023" //Varens nr
valg[4][1] = "Dette er en vare 4" //Varens tekst
valg[4][2] = "104 kr." //Varens pris


function opdater(inp) {
  for (i=0; i<valg.length; i++){
    if (valg[i][0] == inp.value) {
      inp.form.tekst.value = valg[i][1];
      inp.form.pris.value = valg[i][2];
      return true;
    }
  }
  inp.focus();
  return false;
}
</script>
</head>
<body>
<form>
<input type="text" onBlur="opdater(this);">
<br><br>
<table>
<tr>
<td>
Tekst:
</td>
<td>
<input type="text" name="tekst" readonly>
</td>
</tr>
<tr>
<td>
Pris:
</td>
<td>
<input type="text" name="pris" readonly>
</td>
</tr>
</table>
</form>
</body>
</html>

virker fuldt ud hos mig ...
Avatar billede cyberdude Nybegynder
03. maj 2003 - 20:53 #14
ahhh hvis jeg nu indsatte den rettelse du lavede istedet for blot at rette i det tidligere, så virker det jo... nemlig det med -1 i for (i=1; i<valg.length; i++){
at -1 skulle fjernes.. for så virker alle nemlig :-)
Avatar billede roenving Novice
03. maj 2003 - 20:55 #15
Exactly, jeg havde lige glemt evalueringsrækkefølgen i en for-sætning ,-]
Avatar billede roenving Novice
03. maj 2003 - 20:56 #16
Takker 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