Avatar billede cem Nybegynder
13. april 2004 - 21:39 Der er 22 kommentarer

selger4 er udefinert

<script type="text/javascript">

function check(){
if (document.forms.test.Selger.checked == true)
  {
var selger4 = "JA";
    return false;
  }
else
  {
var selger4 = "Nei";
    return false;
  }

}

</script>

Jeg får beskjed om at selger4 er udefinert....

Klarer dere å se hva feilen er?
Avatar billede roenving Novice
13. april 2004 - 21:43 #1
Bruger du 'var' inde i en funktion er variablen lokal, altså ukendt udenfor !-)

<script type="text/javascript">
var selger4;
function check(){
  selger4 = (document.forms.test.Selger.checked)?"JA":"Nei";
}
</script>
Avatar billede cem Nybegynder
13. april 2004 - 22:15 #2
det virket...men nå skal jeg skrive ut den variabelen senere...

<script type="text/javascript">
document.Write ("" +Selger4+"")
</script>

men jeg fikk ikke til å skrive ut slik...fordi selger4 er udefinert...
hva må jeg gjøre for skrive ut variabelen senere?
Avatar billede roenving Novice
13. april 2004 - 22:19 #3
Selger4 er ikke det samme som selger4 !-)

javascript er stærkt case-sensitivt, så du skal holde fuldstændig nøjagtig samme slags små og store bogstaver, prøv f.eks.:

saks = 'saks';
alert(saks);
sAks = 'kniv';
alert(saks);
saks = sAks;
alert(saks);
Avatar billede roenving Novice
13. april 2004 - 22:21 #4
-- og så skal du selvfølgelig bruge:

<script type="text/javascript">
document.write(selger4);
</script>
Avatar billede roenving Novice
13. april 2004 - 22:21 #5
Heller ikke write må være med store bogstaver !-)
Avatar billede cem Nybegynder
13. april 2004 - 22:29 #6
det begynner å ligne noe nå...men nå fikk jeg opp KUN denne:
"undefined" hvor egentlig JA/Nei skulle ha stått....

hva har jeg gjort feil?har det noe med defineringen av selger4?
Avatar billede roenving Novice
13. april 2004 - 22:32 #7
Så har du nok ikke kaldt check()-funktionen før du udskrev, det ser du nemt ved at:

var selger4 = false;

fra mit første indlæg !-)
Avatar billede cem Nybegynder
13. april 2004 - 22:34 #8
ehhhh....jeg vet ikke om jeg skjønte helt....litt dårlig på avansert dansk;p

<script type="text/javascript">
var selger4;
function check(){
  selger4 = (document.forms.test.Selger.checked)?"<h1>JA</h1>":"<h1>Nei</h1>";
}
</script>

<script type="text/javascript">
document.write(selger4);
</script>
<input type="checkbox" value="ja" name="Selger" OnClick="check();" <%if Selger2 = "ja" then %>CHECKED<%end if%>>

----------------------------

så hva må jeg gjøre for å få dette til å fungere?
Avatar billede roenving Novice
13. april 2004 - 22:42 #9
Hvis du kalder check()-funktionen med en onclick vil den ikke være sat, når du kalder document.write !-)

Så må du f.eks.:

<script type="text/javascript">
function check(fld){
  document.getElementById('selger').innerHTML = (fld.checked)?"<h1>JA</h1>":"<h1>Nei</h1>";
}
</script>

<div id="selger"></div>
<input type="checkbox" value="ja" name="Selger" OnClick="check(this);" <%if Selger2 = "ja" then %>CHECKED<%end if%>>
Avatar billede roenving Novice
13. april 2004 - 22:48 #10
-- og du kan endda gøre sådan:

<script type="text/javascript">
function check(fld){
  document.getElementById(fld.name.toLowerCase()).innerHTML = (fld.checked)?"<h1>JA</h1>":"<h1>Nei</h1>";
}
</script>

<div id="selger1"></div>
<input type="checkbox" value="ja" name="Selger1" OnClick="check(this);" <%if Selger1 = "ja" then %>CHECKED<%end if%>><br>
<div id="selger2"></div>
<input type="checkbox" value="ja" name="Selger2" OnClick="check(this);" <%if Selger2 = "ja" then %>CHECKED<%end if%>><br>
<div id="selger3"></div>
<input type="checkbox" value="ja" name="Selger3" OnClick="check(this);" <%if Selger3 = "ja" then %>CHECKED<%end if%>><br>
<div id="selger4"></div>
<input type="checkbox" value="ja" name="Selger4" OnClick="check(this);" <%if Selger4 = "ja" then %>CHECKED<%end if%>><br>
Avatar billede cem Nybegynder
13. april 2004 - 22:50 #11
hvordan kombinerer jeg  flere av disse da?

<script type="text/javascript">
function check(fld){
  document.getElementById('selger').innerHTML = (fld.checked)?"<h1>JA</h1>":"<h1>Nei</h1>";
}

function check(fld2){
  document.getElementById('pris').innerHTML = (fld2.checked)?"<h1>JA</h1>":"<h1>Nei</h1>";
}

function check(fld3){
  document.getElementById('beskrivelse').innerHTML = (fld3.checked)?"<h1>JA</h1>":"<h1>Nei</h1>";
}
</script>

denne ble HELT feil...jeg er ganske nOObie på Javascript...;(
Avatar billede cem Nybegynder
13. april 2004 - 23:07 #12
vel...jeg har checkboxes med navn som 'selger', 'beskrivelse' og 'pris'...og når den skriver ut skal den skrive ut dette:

  document.getElementById(fld.name.toLowerCase()).innerHTML = (fld.checked)?"<select name='Selger3'><option value='AND' <%If Selger3 = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Selger3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";

og jeg skal ha en for selger, beskrivelse, pris pluss tre til...finnes det noen lett måte å gjøre det på?
Avatar billede cem Nybegynder
13. april 2004 - 23:15 #13
og da skal hver select være lik...utenom at jeg skal bytte tu selger3 med pris3, beskrivelse3 og så videre...
Avatar billede cem Nybegynder
13. april 2004 - 23:42 #14
her er koden min nå:

<script type="text/javascript">
function check(fld){
  document.getElementById('selger').innerHTML = (fld.checked)?"<select name='Selger3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Selger3 = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Selger3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
 
  document.getElementById('pris').innerHTML = (fld.checked)?"<select name='Selger3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Selger3 = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Selger3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";

}
</script>

<%'-------------------------------------Selger3----------------------------%>
<table><tr><td width="50px"><div id="selger"><% if Selger3 = "AND" OR Selger3 = "OR" then%>
<select name="Selger3" style="font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center">
<option value="AND" <%If Selger3 = "AND" then%>SELECTED<%end if%>>Og</option>
<option value="OR" <%If Selger3 = "OR" then%>SELECTED<%end if%>>Eller</option>
<%end if%></select>
</div>
</td><td>
<font size="1" face="verdana"><input type="checkbox" value="ja" name="Selger" OnClick="check(this);" <%if Selger2 = "ja" then %>CHECKED<%end if%>> Selger/Kjøper<br>
</td></tr></table>


<%'-------------------------------------Pris3----------------------------%>

<table><tr><td width="50px"><div id="pris"><% if Pris3 = "AND" OR Pris3 = "OR" then%>
<select name="Pris3" style="font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center">
<option value="AND" <%If Pris3 = "AND" then%>SELECTED<%end if%>>Og</option>
<option value="OR" <%If Pris3 = "OR" then%>SELECTED<%end if%>>Eller</option>
<%end if%></select>
</div>
</td><td>
<font size="1" face="verdana"><input type="checkbox" value="ja" name="Pris" OnClick="check(this);" <%if Pris2 = "ja" then %>CHECKED<%end if%>> Pris<br>
</td></tr></table>


Håper dere kan hjelpe meg...:D
Avatar billede cem Nybegynder
13. april 2004 - 23:45 #15
FIKK DET TIL SELV:D

JIIPPPPI;)
hehe


har du svar roenving?
Avatar billede cem Nybegynder
14. april 2004 - 00:34 #16
<script type="text/javascript">
function check(fld){
  document.getElementById('selger').innerHTML = (fld.checked)?"<select name='Selger3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Selger3 = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Selger3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
}
function check2(fld){ 
  document.getElementById('pris').innerHTML = (fld.checked)?"<select name='Pris3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Pris3 = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Pris = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
}
function check3(fld){ 
  document.getElementById('beskrivelse').innerHTML = (fld.checked)?"<select name='Beskrivelse3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Beskrivelse = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Beskrivelse3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
}
function check4(fld){ 
  document.getElementById('Tilstand').innerHTML = (fld.value != "nei")?"<select name='Tilstand3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Tilstand = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Tilstand3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
}
function check5(fld){ 
  document.getElementById('Kategori2').innerHTML = (fld.value != "nei")?"<select name='Kategori3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If Kategori2 = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If Kategori3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
}
function check6(fld){ 
  document.getElementById('kjopogsalg').innerHTML = (fld.value != "nei")?"<select name='kjopogsalg3' style='font-family: ver; border-style: solid; border-width: 1; font-size:10px; text-align:center'><option value='AND' <%If kjopogsalg = """AND""" then%>SELECTED<%end if%>>Og</option><option value='OR' <%If kjopogsalg3 = """OR""" then%>SELECTED<%end if%>>Eller</option></select>":"";
}
</script>

også bruker jeg en slik, 'OnClick="check(this);"', på hver input. Men er det mulig å få dette javascriptet til å kjøre når man laster siden...for ofte er det kryset av uten at checkboxen vises....
Avatar billede cem Nybegynder
14. april 2004 - 06:37 #17
jeg vil ikke bruke body onload....;)

hva slags muligheter har jeg da?
Avatar billede roenving Novice
14. april 2004 - 07:51 #18
Nu er det jo præcis hvad body onload er skabt til, for det vil oftest give fejl at køre javascript mod elementer på siden, hvis dokumentet ikke er afsluttet ...

-- men du kan også lave javascript-kald efter </body>-tagget, hvor der stort set aldrig vil være den slags fejl !-)
Avatar billede roenving Novice
14. april 2004 - 08:00 #19
-- forøvrigt har jeg tænkt på, om det ikke ville være hensigtsmæssigt, at du simpelthen satte alle felter ind, men at de i grupper ligger inde i hver deres blok-element, som starter med at være skjult ...

-- det er en ofte set fejlkilde at bruge innerHTML til at tilføje kompliceret html-kode, så er visibility eller display sikrere !-)
Avatar billede cem Nybegynder
14. april 2004 - 08:16 #20
Nu er det jo præcis hvad body onload er skabt til, for det vil oftest give fejl at køre javascript mod elementer på siden, hvis dokumentet ikke er afsluttet ...

-- men du kan også lave javascript-kald efter </body>-tagget, hvor der stort set aldrig vil være den slags fejl !-)
SVAR:
Jeg bruker include-file i asp og derfor er ikke <body>-tagget i hvert dokument...derfor har jeg skulle ha hatt et onload-script som virker for kun soking.asp




-- forøvrigt har jeg tænkt på, om det ikke ville være hensigtsmæssigt, at du simpelthen satte alle felter ind, men at de i grupper ligger inde i hver deres blok-element, som starter med at være skjult ...

-- det er en ofte set fejlkilde at bruge innerHTML til at tilføje kompliceret html-kode, så er visibility eller display sikrere !-)
SVAR:
Nå er jeg ikke så flink i Javascript, Nybegynner, og vet ikke hvordan visibillity og display virker...men en link/tutorial lignende kunne også ha hjulpet;)

*prøver å lære javascript*
Avatar billede cem Nybegynder
14. april 2004 - 19:17 #21
finnes det noen link om visbillity og display...jeg finenr ikke noe selv....
Avatar billede roenving Novice
14. april 2004 - 19:33 #22
Prøv noget simpelt:

Lav nogle ens divs, som onclick gemmes på den ene eller den anden måde, så kan du se det ret nemt:

<div id="div1" onclick="this.style.display='none';">
<h3>Div 1</h3>
<br><a href="java script:void(0)" style="text-decoration:none;color:red">Link</a>
<br>
<select name="minSelect" id="minSelect" onchange="">
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
</div>
<button onclick="st=document.getElementById('div1').style;st.display=(st.display!='none')?'none':'block';">Vis/skjul div 1 (display)</button>

<div id="div2" onclick="st=this.style;st.visibility=(st.visibility!='hidden')?'hidden':'visible';">
<h3>Div 2</h3>
<br><a href="java script:void(0)" style="text-decoration:none;color:red">Link</a>
<br>
<select name="minSelect" id="minSelect" onchange="">
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
</div>
<button onclick="st=document.getElementById('div2').style;st.visibility=(st.visibility!='hidden')?'hidden':'visible';">Vis/skjul div 2 (visibility)</button>

<div id="div3" onclick="this.style.display='none';">
<h3>Div 3</h3>
<br><a href="java script:void(0)" style="text-decoration:none;color:red">Link</a>
<br>
<select name="minSelect" id="minSelect" onchange="">
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
</div>
<br><button onclick="st=document.getElementById('div3').style;st.display=(st.display!='none')?'none':'block';">Vis/skjul div 3 (display)</button>

<div id="div4" onclick="st=this.style;st.visibility=(st.visibility!='hidden')?'hidden':'visible';">
<h3>Div 4</h3>
<br><a href="java script:void(0)" style="text-decoration:none;color:red">Link</a>
<br>
<select name="minSelect" id="minSelect" onchange="">
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
</div>
<button onclick="st=document.getElementById('div2').style;st.visibility=(st.visibility!='hidden')?'hidden':'visible';">Vis/skjul div 2 (visibility)</button>
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