Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med att definiera klass

Postades av 2009-05-11 19:17:29 - Anders Malmgren, i forum javascript/dhtml, Tråden har 2 Kommentarer och lästs av 1700 personer

Jag har problem med att skriva en javascript klass.
Jag vill inte använda mootools eller prototyperamverket för detta då det är en liten grej och kräver inte sådana mastodontramverk.

Min klass ser ut såhär

function ComboBox(inputId, drpId) {
this.get_inputId = function() { return inputId; }
this.set_inputId = function(value) { inputId = value; }
this.get_drpId = function() { return drpId; }
this.set_drpId = function(value) { drpId = value; }

document.getElementById(inputId).onclick = this.show;
}

ComboBox.prototype.show = function() {
this.get_drp().style.display = 'block';
this.get_drp().style.left = this.get_input().offsetLeft + 'px';
this.get_drp().style.width = this.get_input().offsetWidth + 'px';
}

ComboBox.prototype.get_input = function() {
return document.getElementById(this.get_inputId());
}
ComboBox.prototype.get_drp = function() {
return document.getElementById(this.get_drpId());
}

från koden anropas den såhär...

var box = new CombBox('combo1$input', 'combo1$drp');

om jag klickar på inputfältet (Så att onclick eventet triggar) så får jag error att this.get_drp() is not a function.

Om jag därimot triggar show metoden såhär

var box = new CombBox('combo1$input', 'combo1$drp');
box.show();

så funkar det.. Vad gör jag för fel?


Svara

Sv: Problem med att definiera klass

Postades av 2009-05-11 19:52:45 - Niklas Jansson

Bara för att eliminera det, prova att flytta upp get_input och get_drp över show.

Sen kan det vara (och är förmodligen, eftersom det funkar om du kör 'show') min js som är ringrostig, men är det verkligen rätt gjort med inputID och drpID i konstruktorn?

Annars är väl nästa logiska steg att kolla vad man får om man kör t.ex.:

ComboBox.prototype.show = function() {
alert(''+this.drpId);
alert(this.get_drp().id);
}

Och se vad skillnaden blir i de båda fallen?


Svara

Sv:Problem med att definiera klass

Postades av 2009-05-12 00:15:19 - Anders Malmgren

Jag kasta hela den där skiten och körde istället med Microsoft AJAX Framework eftersom det är asp.net jag använder..

Om jag skapar min class direkt i aspxfilen så funkar koden, för då lägger sig Microsoft AJAX Framework filen ovanför min klass..

Men lägger jag min klass i egen .js fil och registrer den med

ScriptManager.RegisterClientScriptResource(typeof(ComboBox), "Agero.Anders.Web.Controls.JS.ComboBox.js");


Så hamnar min js fil före Microsoft AJAX Framework och jag får not defined problem..

Hur sjutton fixar man detta?


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 617
27 958
271 741
10 146
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies