Toon posts:

[JS] Undefined ...?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb iets in elkaar gezet wat ervoor moest zorgen dat ik via een extern js bestand een tabel met links genereerde op mijn html pagina.
Nu is het zo dat hij die tabel wel genereerd maar dit wordt voorafgegaan door een 8-tal meldingen (onder elkaar) van: undefined. Ik genereer ook (toevallig) 8 datacells. Zou dit er iets mee te maken hebben??
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function conmenu_blank() {
    document.write ("<tr>")
        document.write ("<td class='conmenu_blank'></td>")
        document.write ("</tr>")
        }
function conmenu_rule() {
    document.write ("<tr>")
        document.write ("<td class='conmenu_rule'><p class='conmenu_rule'>[img]'images/steelpixel.gif'[/img]</td>")
        document.write ("</tr>")
        }
var clss = 'bla1';
var href = 'bla2';
var name = 'bla3';
function conmenu_link(clss, href, name) {
    document.write ("<tr>")
        document.write ("<td class='conmenu_link'><p class='conmenu_link'><a class='"+clss+"' href='"+href+"' onFocus='if(this.blur)this.blur()'>"+name+"</a></p></td>")
        document.write ("</tr>")
        return
        }

Tot zover de functies die ik gebruik:
1 om een lege datacell te genereren;
1 om een soort <hr> te genereren;
1 om de 'class', 'href' en de 'naam' door te geven voor de links.
code:
1
2
3
4
5
6
7
8
9
10
document.write (" <table summary='toplevel item layout' class='content_menu' cellpadding='0' cellspacing='1'> ");
document.write(conmenu_blank());
document.write(conmenu_link('gray' , '../informatie/automatisering/main.html' , 'goedzo'));                                                                                 
document.write(conmenu_link('gray' , '../informatie/automatisering/main.html' , 'oftochwel'));                                              
document.write(conmenu_link('gray' , '../informatie/automatisering/main.html' , 'oftochwel'));
document.write(conmenu_rule());
document.write(conmenu_link('gray' , '../informatie/automatisering/main.html' , 'oftochwel'));
document.write(conmenu_link('gray' , '../informatie/automatisering/main.html' , 'oftochwel'));
document.write(conmenu_blank());
document.write(" </table> ");

Tot zover het afdrukken van de 8 datacells.
Als er nog een vraag is zeg het maar, ik zou dit ontzettend graag opgelost zien, daar ik al 2 dagen non-stop op zoek ben. :z :z :z

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

is dat niet omdat je een document.write returned :?
in principe doe je nu dit:
HTML:
1
document.write (document.write ("<tr>"));

de document.write wordt gevuld met een document.write...dat kan niet goed gaan dunkt me :/
als je nu eens alle html die retruned moet worden in een string plaatst:
HTML:
1
2
3
4
ffunction conmenu_link(clss, href, name) {
    var writeThis = "<tr><td class='conmenu_link'><p class='conmenu_link'>"<a class='"+clss+"' href='"+href+"' onFocus='if(this.blur)this.blur()'>"+name+"</a></p></td></tr>";
    return writeThis;
    }

mja , het zal best netter/beter kunnen maar ff een basaal voorbeeldje :)

www.jurgroessen.nl


Verwijderd

erm... als ik het goed zie heb jij een functie, conmenu_link() die een aantal document.write's uitvoert. Vervolgens roep jij die functie aan met een document.write() :?

edit:
Kan iemand die post van Hangloozz thrashen? Dan ben ik tenminste degene die dit het eerst opmerkte :P

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Hangloozz, technisch gesproken is het toch geen return :P want er wordt helemaal geen return waarde aan de functie meegegeven. Het wordt namelijk direct naar het document geschreven...

edit:
FoOL, doe maar niet omdat anders mijn reply nergens meer op slaat

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

na na nana na :P
ook FoOL wordt een dagje ouder..

edit:

Woudloper: je hebt gelijk: eerst worden de d.write's uit de functie geparst zonder dat de variabelen bekend zijn en daarna vindt nog eens een d.write plaats waarbij de vars wel bekend zijn..
Nahja, de strekking is duidelijk, en je kunt het 2 zijdig oplossen :)

www.jurgroessen.nl