Toon posts:

ASP + javascript

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo allemaal

Ik moet voor mijn eindwerk een dynamische website maken. Ik heb een vraagje ivm met een asp pagina.

Ik heb een formulier op mijn asp pagina waar ik verschillende waarden moet invullen. Op dit formulier moet ik bv ook een klantencode op invullen. Wanneer ik dit heb ingevuld, dan zou er automatisch, onder de klantcode wanneer ik op de tabtoets bv klik, de naam van deze klant moeten verschijnen (zonder dat ik op submit druk). Weet er iemand hoe ik dit kan oplossen. Ik heb horen vertellen dat je dat met een javascript ofzo kan doen maar ik zou niet weten hoe. Mijn database is gemaakt in access en de relaties liggen tss de tabellen.

http://users.skynet.be/marinastas/omschrijving.JPG

Kan er iemand mij helpen

Mvg

Pieter



Je plaatje is iets te groot voor dit forum. Probeer hem even te resizen of laat hem als link staan ;)

[ Voor 8% gewijzigd door BtM909 op 20-09-2006 15:28 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Zoek eens naar de wondere wereld van AJAX, maar ik betwijfel of je daar uit gaat komen als je nog niet zo handig met Javascript bent :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Dat kan door met javascript een php/asp pagina aan te roepen met behulp van een XMLHttpRequest; je zoekterm hier is AJAX. Er zijn tig libraries en tutorials voor beschikbaar, dus dat gaat wel lukken ;)

BtM909 :w

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
BtM909 schreef op woensdag 20 september 2006 @ 15:27:
Zoek eens naar de wondere wereld van AJAX, maar ik betwijfel of je daar uit gaat komen als je nog niet zo handig met Javascript bent :)
Zo lastig is het niet te leren al met al, kost wel tijd. Een andere oplossing zou kunnen zijn alle productcodes en namen in een 2-dimensionale array te zetten en dan met een simpele lookup de goede omschrijving bij je code te zoeken maar als je een hele grote lijst hebt krijg je wel grote pagina's :+

Saved by the buoyancy of citrus


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Cyphax schreef op woensdag 20 september 2006 @ 15:29:
[...]

Zo lastig is het niet te leren al met al, kost wel tijd. Een andere oplossing zou kunnen zijn alle productcodes en namen in een 2-dimensionale array te zetten en dan met een simpele lookup de goede omschrijving bij je code te zoeken maar als je een hele grote lijst hebt krijg je wel grote pagina's :+
Het gaat er even om als iemand het volgende zegt:
Ik heb horen vertellen dat je dat met een javascript ofzo kan doen maar ik zou niet weten hoe.
Dan ga ik ervanuit dat je geen ervaring met javascript hebt. Zo nee, dan is AJAX echt niet hoofdstuk 1 waar je mee begint hoor ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

Een handige, doeltreffende AJAX lib is sack. De voorbeelden welke meegeleverd zijn duidelijk.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Viper®
  • Registratie: Februari 2001
  • Niet online
Een listbox control met een achterliggende datasource.

Ajax zou natuurlijk het mooiste zijn, maar zoals al vaker gezegd meot je niet gelijk beginnen met het uitvinden van de motor, begin maar bij het wiel

Verwijderd

Topicstarter
Ik zou dat met AJAX wel willen proberen maar ik heb niet veel tijd meer om dit te doen, eind september zou dit moeten af zijn en er zijn nog een paar dingen die ik moet afwerken. Is er geen andere manier??

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
BtM909 schreef op woensdag 20 september 2006 @ 15:31:
[...]

Het gaat er even om als iemand het volgende zegt:


[...]


Dan ga ik ervanuit dat je geen ervaring met javascript hebt. Zo nee, dan is AJAX echt niet hoofdstuk 1 waar je mee begint hoor ;)
Da's waar :+
Maar ik ga er een beetje vanuit wel dat salle er wat moeite voor wil doen om het wel te leren, dat zou wel het mooist zijn want anders wordt het ook moeilijk om kant-en-klare libraries te gebruiken. :P
Verwijderd schreef op woensdag 20 september 2006 @ 15:41:
Ik zou dat met AJAX wel willen proberen maar ik heb niet veel tijd meer om dit te doen, eind september zou dit moeten af zijn en er zijn nog een paar dingen die ik moet afwerken. Is er geen andere manier??
Over hoeveel klanten gaat het? Als de lijst niet te groot is kun je dus een alternatieve oplossing bouwen, evenwel met Javascript, had ik al genoemd. :P

[ Voor 30% gewijzigd door Cyphax op 20-09-2006 15:43 ]

Saved by the buoyancy of citrus


Verwijderd

Topicstarter
Het zijn er een +/- 350 tal voor de moment maar er moeten er veel uit die nemeer bestaan dus ik denk dat het er ongeveer nog een 150 gaan zijn

Ik zou AJAX wel willen leren maar dat zal voor na de stageperiode zijn

[ Voor 37% gewijzigd door Verwijderd op 20-09-2006 15:46 ]


  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 20-01 22:02

Yoozer

minimoog

Ik kan me moeilijk voorstellen dat dat een eis is; je docent zou dan al moeten weten van AJAX of heeft een zwaar optimistische voorstelling van je programmeerkwaliteiten.

Wil je het slim aanpakken, maak dan een Iframe net onder het venster van de productcode. Hier zet je een lijst met alle beschrijvingen in. Op het moment dat je de productcode hebt ingetikt laat je de iframe verversen met een nieuwe URL - dus iets van ProductLijst.html#92875981 waarbij het cijfer de productcode is. Zorg ervoor dat de ProductLijst.html van bovenaf blanco is en dat er genoeg ruimte is voor de productgegevens weer te geven. Lange beschrijvingen gaan lastig worden. Verberg de randen en de scrollbars, en zo kun je een beetje foetelen :).

Eventueel kun je met Javascript dan ook nog een array maken met toegestane productcodes. Als de persoon de productcode heeft ingetoetst laat je het iframe springen naar ProductLijst.html#loading - een animatie van "loading ..." of zo iets, controleert dan de aanwezigheid van de productcode in het array; is 'ie er niet, dan spring je gewoon naar ProductLijst.html#notfound. Is 'ie er wel, dan ga je daar naar toe. Dit kan heel erg vlug; misschien moet je 't nog zelfs langzamer maken om het laad-effect te laten zien.

Het enige wat je dan moet uitzoeken is hoe je de ProductLijst.html opvult en zodanig er laat uitzien alsof 't een deel van de site is, hoe je een textbox uitleest (wat gebeurt er als je teruggaat en iets anders intikt? Hij moet dan wederom controle uitvoeren!) en hoe je frames vanuit Javascript kan aansturen. Elke keer als je de pagina laadt kun je ProductLijst.html opvullen vanuit de database. Het is een ouderwetse "vuile" oplossing, maar misschien makkelijker dan je in AJAX verdiepen.

teveel zooi, te weinig tijd


Verwijderd

Topicstarter
Yoozer schreef op woensdag 20 september 2006 @ 15:51:
Ik kan me moeilijk voorstellen dat dat een eis is; je docent zou dan al moeten weten van AJAX of heeft een zwaar optimistische voorstelling van je programmeerkwaliteiten.

Wil je het slim aanpakken, maak dan een Iframe net onder het venster van de productcode. Hier zet je een lijst met alle beschrijvingen in. Op het moment dat je de productcode hebt ingetikt laat je de iframe verversen met een nieuwe URL - dus iets van ProductLijst.html#92875981 waarbij het cijfer de productcode is. Zorg ervoor dat de ProductLijst.html van bovenaf blanco is en dat er genoeg ruimte is voor de productgegevens weer te geven. Lange beschrijvingen gaan lastig worden. Verberg de randen en de scrollbars, en zo kun je een beetje foetelen :).

Eventueel kun je met Javascript dan ook nog een array maken met toegestane productcodes. Als de persoon de productcode heeft ingetoetst laat je het iframe springen naar ProductLijst.html#loading - een animatie van "loading ..." of zo iets, controleert dan de aanwezigheid van de productcode in het array; is 'ie er niet, dan spring je gewoon naar ProductLijst.html#notfound. Is 'ie er wel, dan ga je daar naar toe. Dit kan heel erg vlug; misschien moet je 't nog zelfs langzamer maken om het laad-effect te laten zien.

Het enige wat je dan moet uitzoeken is hoe je de ProductLijst.html opvult en zodanig er laat uitzien alsof 't een deel van de site is, hoe je een textbox uitleest (wat gebeurt er als je teruggaat en iets anders intikt? Hij moet dan wederom controle uitvoeren!) en hoe je frames vanuit Javascript kan aansturen. Elke keer als je de pagina laadt kun je ProductLijst.html opvullen vanuit de database. Het is een ouderwetse "vuile" oplossing, maar misschien makkelijker dan je in AJAX verdiepen.
Dat ziet er allemaal heel mooi uit maar zo gevorderd ben ik nog niet in die zaken

  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 28-01 11:10
'Ajax' op een simpele manier:
code:
1
2
3
4
5
6
function blaataap(klantid) {
  if (TheForm.klantcode.focus == false) {
    popup = window.open('getid.asp?klant_id='+klantid,'grootte=1, breedte=1 etc....');
    popup.opener = self;
  }
}

en in de popup:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
klantid = escapechars (request("klantid"))
sql = "select naam from klanten where klantid = "& klantid

set rsobject = blabalbal
rsobject.open sql conn, 3, 3 

klantnaam = rsobject("naam")
%>

<html>
<script language="javascript">
function return_name_to_parent (name) {
  opener.TheForm.klantnaam.value= name;
  self.close();}
</script>
<body onload="return_name_to_parent(<%=klantnaam%>)">

</body>
</html>


en klaaar :) was toch niet zo moeilijk? Ajax is voor degenen die niet creatief kunnen programmeren :) <- dit is een geintje, niet sjachrijnig gaan doen >:)

sorry voor de gare code maar hey, je hebt een oplossing :O

[ Voor 7% gewijzigd door kalechinees op 20-09-2006 20:22 ]


  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Het is wel een oplossing. Wel voor deze opdracht maar niet voor een echte site. :P

Omdat wat als je een popupblocker heb :P Die houd dit tegen. AJAX is een hele makkelijke en handige tool. Windows live of Yahoo Mail beta kan je niet maken met popupjes :+

Toen ik net met php begon heb ik ook gebruik gemaakt van arrays. Ik gebruikte een 2D array.
[code][waarde]. Dit werkte perfect eigenlijk. Maar als de lijst langer wordt kan je beter AJAX gebruiken.

Het is niet moeilijk opzich. :*) goed artikel waar ik veel aan had:http://www.javaworld.com/...08-2006/jw-0807-ajax.html of deze die is nederlands http://www.phphulp.nl/php/tutorials/8/309/

[ Voor 80% gewijzigd door Jochemmol op 20-09-2006 21:10 ]

Jochemmol


Verwijderd

Topicstarter
kalechinees schreef op woensdag 20 september 2006 @ 20:20:
'Ajax' op een simpele manier:
code:
1
2
3
4
5
6
function blaataap(klantid) {
  if (TheForm.klantcode.focus == false) {
    popup = window.open('getid.asp?klant_id='+klantid,'grootte=1, breedte=1 etc....');
    popup.opener = self;
  }
}

en in de popup:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
klantid = escapechars (request("klantid"))
sql = "select naam from klanten where klantid = "& klantid

set rsobject = blabalbal
rsobject.open sql conn, 3, 3 

klantnaam = rsobject("naam")
%>

<html>
<script language="javascript">
function return_name_to_parent (name) {
  opener.TheForm.klantnaam.value= name;
  self.close();}
</script>
<body onload="return_name_to_parent(<%=klantnaam%>)">

</body>
</html>


en klaaar :) was toch niet zo moeilijk? Ajax is voor degenen die niet creatief kunnen programmeren :) <- dit is een geintje, niet sjachrijnig gaan doen >:)

sorry voor de gare code maar hey, je hebt een oplossing :O
Bedankt voor de code maar het mag niet met een pop up, de bedoeling is gewoon van zodra ik de klantcode heb ingevuld en ik ga dan verder dat er automatisch daaronder de naam van de klant komt te staan

  • user109731
  • Registratie: Maart 2004
  • Niet online
Ik heb nog niemand over een hidden iframe gehoord? Dat lijkt me makkelijker te implementeren dan een ajax-oplossing.

Stel dat dit de pagina is met het formulier:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
    function updateText(input) {
        document.getElementById('iframe').src = "getinfo.asp?id="+input.value;
    }
    function update(iframe) {
        document.getElementById('text').innerHTML = iframe.contentWindow.document.getElementById('answer').innerHTML;
    }
</script>

<input type="text" id="input" onChange="updateText(this)">
<span id="text"></span>
<iframe id="iframe" src="" style="display:none" onload="update(this)"></iframe>

Dan hoef je in je getinfo.asp enkel de id parameter uit te lezen en die terug te geven in een <p id="answer"> bijvoorbeeld.

Dit script kan netter, maar ik heb het expres geprobeerd eenvoudig te houden zodat de TS het makkelijk kan begrijpen en implementeren. Het onload attribuut is niet toegestaan op het iframe element, maar anders moet het met JS, wat het weer lastiger maakt. Dus TS: als dit goed werkt en je hebt tijd over, verander dan als eerste dat onload :)

  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 28-01 11:10
wilde ik dus net roepen :)
javascript kan ook door middel van een iframe... of als je het sjiek wilt doen een layer met een Iframe daarin met "retrieving data".
Misschien ben ik nog van een ietswat oudere stempel maar het is echt niet zo'n abnormale oplossing hoor :)

Verwijderd

kalechinees schreef op woensdag 20 september 2006 @ 20:20:
'Ajax' op een simpele manier:
code:
1
2
3
4
5
6
function blaataap(klantid) {
  if (TheForm.klantcode.focus == false) {
    popup = window.open('getid.asp?klant_id='+klantid,'grootte=1, breedte=1 etc....');
    popup.opener = self;
  }
}

en in de popup:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
klantid = escapechars (request("klantid"))
sql = "select naam from klanten where klantid = "& klantid

set rsobject = blabalbal
rsobject.open sql conn, 3, 3 

klantnaam = rsobject("naam")
%>

<html>
<script language="javascript">
function return_name_to_parent (name) {
  opener.TheForm.klantnaam.value= name;
  self.close();}
</script>
<body onload="return_name_to_parent(<%=klantnaam%>)">

</body>
</html>


en klaaar :) was toch niet zo moeilijk? Ajax is voor degenen die niet creatief kunnen programmeren :) <- dit is een geintje, niet sjachrijnig gaan doen >:)

sorry voor de gare code maar hey, je hebt een oplossing :O
Mooie oplossing alleen maak van die popup een hidden IFrame en je bent echt klaar.. Geen Popup, Geen XMLHTTPRequest maar gewoon simpel javascript

Verwijderd

Topicstarter
als de tabel waar mijn klantcode instaat kCode noemt en de tabel waar de naam instaat kNaam, Welke gegevens moet ik dan vervolgens allemaal veranderen??

  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 20-01 22:02

Yoozer

minimoog

Verwijderd schreef op woensdag 20 september 2006 @ 18:02:
Dat ziet er allemaal heel mooi uit maar zo gevorderd ben ik nog niet in die zaken
(Dan hoef je toch niet het hele stuk te quoten? :P
Verwijderd schreef op donderdag 21 september 2006 @ 00:00:
als de tabel waar mijn klantcode instaat kCode noemt en de tabel waar de naam instaat kNaam, Welke gegevens moet ik dan vervolgens allemaal veranderen??
Eerst je tabel veranderen. Ooit eens van 1-1, 1-n en n-m relaties gehoord?

Klopt de volgende omschrijving?
1 klant heeft 1 naam en 1 klantcode. Als je een klantcode opzoekt kom je altijd maar bij 1 klant uit.

Als dat zo is moeten de klantnaam en de klantcode beiden in 1 enkele tabel, genaamd Klanten. Je kunt de klantcode dan als primary key (hoofdsleutel) gebruiken om de klant mee op te zoeken.

code:
1
sql = "select naam from klanten where klantid = "& klantid


"klantid" is dan de kCode, "naam" is dan de kNaam. Overigens zijn KlantNaam en KlantCode betere omschrijvingen - en nog beter zijn Klanten.Naam en Klanten.Code (de kolommen Naam en Code van de tabel Klanten).

Je hebt nu kCode. Wat als er in de toekomst een KortingsCode bijkomt? Wordt 't dan koCode? Voor het extra typwerk hoef je het niet te doen; je code moet achteraf leesbaar zijn en te begrijpen zijn. Niks zo irritant als wanneer je zelf weer helemaal moet gaan uitvinden wat het was.

[ Voor 14% gewijzigd door Yoozer op 21-09-2006 09:00 ]

teveel zooi, te weinig tijd


Verwijderd

Topicstarter
Yoozer

Bedankt om mij te helpen, ik krijg een fout op het volgende "rsobject.open sql conn, 3, 3 " wanneer ik mijn pagina laat

HTML:
1
2
3
4
5
6
7
8
9
<%
klantid = escapechars (request("kCode"))
sql = "select kNaam from tblKlanten where kCode = "& klantid

set rsobject = blabalbal
rsobject.open sql conn, 3, 3 

kNaam = rsobject("naam")
%>

  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 20-01 22:02

Yoozer

minimoog

Dit is niet meer Webdesign & Scripting, dit hoort bij Programmeren, maar ik denk dat daar je topic heel snel op slot gaat omdat dit een behoorlijke basic vraag is.

Verdiep je bij W3Schools.com eens in ADO en ASP classic en kijk bij het voorbeeld waar ze informatie uit de Northwind (standaard-voorbeeld) database halen.

Je krijgt nu dus een fout. Welke fout? Elke fout in ASP heeft een nummer. Nummer invoeren in Google en kijken waar het aan kan liggen. Altijd doen voordat je het hier vraagt.

Verder zie ik dat je het stuk code letterlijk hebt gekopieerd. Natuurlijk gaat dat niet werken - dat rsobject = blabalbal is klinkklare nonsens. kalechinees ging er van uit dat je al iets als een rsobject zelf had aangemaakt, omdat hij natuurlijk niet kan weten wat voor database-toegang je gebruikt. Dit is bij stukjes code vaker het geval; je noemt functies "foo" of "bar" omdat het tijdelijke plaatshouders zijn voor dingen die je nog zelf moet invullen. Men gaat er van uit dat je weet hoe het er in moet passen en dat de basis aanwezig is.

[ Voor 35% gewijzigd door Yoozer op 21-09-2006 10:29 ]

teveel zooi, te weinig tijd


  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 28-01 11:10
hehe, is maar goed dat je het niet hebt ingeleverd met:
code:
1
function blaataap () { }



alhoewel, dat zou wel vet zijn hehe, ik zou willen dat ik dat had gedaan op m'n opleiding O-)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
dim docent_zuigt_apenballen
if docent_zuigt_apenballen = true then 
  select case aap_type
    case "baviaan":
      response.write "Viespeuk!!"
    case "gorilla":
      response.write "Viespeuk!!"
    case "chimpansee":
      response.write "Viespeuk!!"
    case else
      response.write "Boeie wat voor aap het is, je bent toch een viespeuk!!"
  end select
end if



Maar ff serieus, toen ik je screenshot zag was ik in de veronderstelling dat je al wist wat database connecties, queries en id's waren... achja, Ik ben in een goeie bui :)

connection.asp
code:
1
2
3
4
5
6
<%
   set conn = Server.Createobject("ADODB.Connection")
   DataSource = "DRIVER={Microsoft Access Driver (*.mdb)}; "
   DataSource = DataSource & "DBQ=" & "d:\wwwroot\database\database.mdb"
   conn.open DataSource
%>


popup_of_Iframe.asp
code:
1
2
3
4
5
6
7
8
9
10
11
12
<%@ LANGUAGE="VBSCRIPT"%>
<!--#include file="includes/connection.asp"  -->

Set RSgetinfo = server.createobject("ADODB.recordset")
SQL = "select klantnaam from info_tabel where id = " & klantid
RSgetinfo.Open SQL, conn, 3, 3
  klantnaam = RSgetinfo("klantnaam")
RSgetinfo.close
set RSgetinfo = nothing
conn.close

response.write klantnaam 'schrijf the klantnaam op het scherm


En jongens... klopt het een beetje? :) ben een beetje roestig (en lui geworden) de afgelopen jaren

[ Voor 3% gewijzigd door kalechinees op 21-09-2006 15:20 ]


  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 02-02 11:04

Dutch_guy

WYSIWYG

Gaat prima lukken met een hidden iframe en javascript zoals al eerder is voorgesteld.

Heb het zelf draaien op een website gescript in asp, waarbij de postcode wordt ingevuld en na een tab naar het volgende veld de straat en plaats worden ingevuld, die uiteraard weer zijn opgezocht uit de database.

Pay peanuts get monkeys !


Verwijderd

Topicstarter
Thx om mij te helpe, met javascipts ed ben ik nog niet goed weg (ni gezien int klaske eh ;-))

ik heb nu alles gezet zoals het bij mij is maar ik krijg altijd een error op deze regel
RSgetinfo.Open SQL 1,2

connectionWiber.asp
code:
1
2
3
4
5
6
7
8
9
10
<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO" 
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_connectionWiber_STRING
MM_connectionWiber_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Websites\Stage\db\Wiber.mdb;"
%>


code:
1
2
3
4
5
6
7
8
9
10
<%
'Info zoeken in database van een ingevuld item
SQL = "select kNaam from tblKlanten where kCode = " & klantid
Set RSgetinfo = server.createobject("ADODB.connection")
RSgetinfo.Open SQL 1,2
  klantnaam = RSgetinfo("kNaam")

form.iframe.value = klantnaam
'response.write klantnaam 'schrijf the klantnaam op het scherm
%>

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:54

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op vrijdag 22 september 2006 @ 10:11:
ik heb nu alles gezet zoals het bij mij is maar ik krijg altijd een error op deze regel
RSgetinfo.Open SQL 1,2
Zonder foutmelding of meer informatie kunnen we alleen zeggen: "Je doet iets niet goed :) "

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Dit is mijn foutmelding:

Soort fout:
Compilatiefout Microsoft VBScript (0x800A0401)
Einde van de instructie wordt verwacht
/stage2/Assem/Formulieren/1/producten/productenGegevensInvoer.asp, line 7, column 19
RSgetinfo.Open SQL 1,2

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

En laat nu ook eens wat code zien van productenGegevensInvoer.asp en dan hoofdzakelijk de eerste 7 of 8 regels?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
dat zijn deze regels

code:
1
2
3
4
5
6
7
8
9
10
<%
'Info zoeken in database van een ingevuld item
SQL = "select kNaam from tblKlanten where kCode = " & klantid
Set RSgetinfo = server.createobject("ADODB.connection")
RSgetinfo.Open SQL 1,2
  klantnaam = RSgetinfo("kNaam")

form.iframe.value = klantnaam
'response.write klantnaam 'schrijf the klantnaam op het scherm
%>


een 4 tal posts terug staat deze ook

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

Verwijderd schreef op vrijdag 22 september 2006 @ 10:53:
dat zijn deze regels

code:
1
2
3
4
5
6
7
8
9
10
<%
'Info zoeken in database van een ingevuld item
SQL = "select kNaam from tblKlanten where kCode = " & klantid
Set RSgetinfo = server.createobject("ADODB.connection")
RSgetinfo.Open SQL 1,2
  klantnaam = RSgetinfo("kNaam")

form.iframe.value = klantnaam
'response.write klantnaam 'schrijf the klantnaam op het scherm
%>
En wat doet form.iframe.value (lijkt me toch redelijk client-side code) in je server-side code?
een 4 tal posts terug staat deze ook
Ik kan niet in mijn glazen bol zien of je die code aangepast hebt of niet.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
woeps srry die regel moest er nog uit, mijn fout

Het probleem ligt hem wanneer ik de pagina wil zien dan krijg ik deze error:
Soort fout:
Compilatiefout Microsoft VBScript (0x800A0401)
Einde van de instructie wordt verwacht
/stage2/Assem/Formulieren/1/producten/productenGegevensInvoer.asp, line 7, column 19
RSgetinfo.Open SQL 1,2

Ik heb deze regel er ook al bijgeplaats "con.connectionstring = "D:\Websites\Stage\db\Wiber.mdb" " een verwijzing waar mijn database staat en dan "RSgetinfo.Open SQL 1,2" aangepast naar "RSgetinfo.Open SQL con 1,2" maar ik krijg nog steeds dezelfde foutmelding

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

Is bovenstaande code alle code?
Zo op het eerste gezicht is er met dat stukje (behalve de JS) niks mis.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
hier is de kode van mijn formulier

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="frmProductInvoer" id="frmProductInvoer">
                <table width="476" border="0">
                  <tr>
                    <td width="147">ProductCode</td>
                    <td colspan="2"><input name="pCode" type="text" id="pCode"></td>
                    </tr>
                  <tr>
                    <td>Naam</td>
                    <td colspan="2"><input name="pNaam" type="text" id="pNaam" size="50"></td>
                    </tr>
                  <tr>
                    <td>Technische fiche </td>
                    <td colspan="2"><input name="pOmsc" type="text" id="pOmsc" size="50"></td>
                    </tr>
                  <tr>
                    <td>Klantcode</td>
                    <td colspan="2"><input name="kCode" type="text" id="kCode" onChange="javascript:zoek(klantid);">
                    <span id="text"></span> 
                    </td>
                    </tr>
                  <tr>
                    <td>Klantennaam</td>
                    <td colspan="2"><iframe id="iframe" src="" style=" display:none"></iframe>
                      </td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td width="183">EUR</td>
                    <td width="124">BEF</td>
                  </tr>
                  <tr>
                    <td>Verkooprijs:</td>
                    <td><input name="pUitPr" type="text" id="pUitPr" onChange="javascript:uitPrNaarBef(this.form);"></td>
                    <td><input name="pUitPrBEF" type="text" id="pUitPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>Tot. Kostprijs : </td>
                    <td><input name="pInPr" type="text" id="pInPr" onChange="javascript:inPrNaarBef(this.form);"></td>
                    <td><input name="pInPrBEF" type="text" id="pInPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>Depotprijs:</td>
                    <td><input name="pDptPr" type="text" id="pDptPr" onChange="javascript:dptPrNaarBef(this.form);"></td>
                    <td><input name="pDptPrBEF" type="text" id="pDptPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>O.A. prijs: </td>
                    <td><input name="pOaPr" type="text" id="pOaPr" onChange="javascript:oaPrNaarBef(this.form);"></td>
                    <td><input name="pOaPrBEF" type="text" id="pOaPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>Arbeidskost</td>
                    <td><input name="pArbPr" type="text" id="pArbPr" onChange="javascript:arbPrNaarBef(this.form);"></td>
                    <td><input name="pArbPrBEF" type="text" id="pArbPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>GROEP</td>
                  </tr>
                  <tr>
                    <td>Besteld Aantal </td>
                    <td>&nbsp;</td>
                    <td><input name="pGroep" type="text" id="pGroep"></td>
                  </tr>
                  <tr>
                    <td>Aantal naar cliënt: </td>
                    <td colspan="2"><input name="pNrKlantAant" type="text" id="pNrKlantAant" size="30"></td>
                    </tr>
                </table>
                            <p>
                              <input name="ok" type="submit" id="ok" value="OK">
                              <input name="cancel" type="button" id="cancel" value="Cancel" onClick="javascript:history.go(-1)">
                    </p>
                             <input type="hidden" name="MM_insert" value="frmProductInvoer">
                </form>
              <p>&nbsp;</p>
            </div>


Code van het javascript
code:
1
2
3
4
5
6
7
8
9
10
<SCRIPT LANGUAGE="JavaScript">
<!--Begin
function zoek(klantid){
if (form.kCode.focus == false){
iframe = window.open('productGegevensInvoer.asp?klantid='+ kCode,'grootte=1, breedte=1');
iframe.opener=self;
    }
}
<!--Einde
</script>


asp code
code:
1
2
3
4
5
6
7
8
9
10
11
12
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../../../../Connections/connectionWiber.asp" -->
<%
'Info zoeken in database van een ingevuld item
SQL = "select kNaam from tblKlanten where kCode = " & klantid
Set RSgetinfo = server.createobject("ADODB.connection")

RSgetinfo.Open SQL con 3,3
  klantnaam = RSgetinfo("kNaam")

response.write klantnaam 'schrijf the klantnaam op het scherm
%>

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

Ah, Dreamweaver ;)

Heb je toevallig in je connectionWiber.asp zitten rommelen?

Ik vraag me trouwens ook af of je JS waarde 'kCode' netjes gevuld wordt. Je rost er nu namelijk het object van je form in, en niet de waarde die er in staat. Wordt kCode/klantid nu wel doorgegeven? Even gauw bekeken zal jouw query ongeveer er zo uitzien:
SQL:
1
select kNaam from tblKlanten where kCode = klantid


Print je SQL query eens naar het scherm door
VBScript:
1
response.write SQL

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Idd, dit is allemaal dreamweaver
Ik heb niet in mijn connectionWiber. asp zitten rommelen, dit is de code ervan:
code:
1
2
3
4
5
6
7
8
9
10
<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO" 
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_connectionWiber_STRING
MM_connectionWiber_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Websites\Stage\db\Wiber.mdb;"
%>


Zo wordt deze afgeprint
select kNaam from tblKlanten where kCode =

Wanneer ik nu een waarde invul in mijn kCode bv 1 dan krijg ik een fout op de pagina en die is de volgende:
klantid is niet gedefinieerd

Er moet dus een fout zitten in mijn javascript maar ik zou niet weten wat, ben niet zo thuis in javascript

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Waarom heb je de code van kalechinees niet gewoon overgenomen? Het enige dat je in zijn code moest aanpassen waren de connection.asp en de query.

[ Voor 20% gewijzigd door WvdWest op 22-09-2006 12:11 ]

I'm not a complete idiot - several parts are missing.


Verwijderd

Topicstarter
Ik heb deze aangepast maar dan krijg ik een fout op deze regel
RSgetinfo.Open SQL, conn, 3, 3


Compilatiefout Microsoft VBScript (0x800A0401)
Einde van de instructie wordt verwacht
/stage2/Assem/Formulieren/1/producten/productenGegevensInvoer.asp, line 7, column 19
RSgetinfo.Open SQL con,3,3

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Ok even opnieuw.

Eerst je formulier

HTML:
1
<input name="kCode" type="text" id="kCode" onChange="javascript:zoek(klantid);">

Gaat nooit werken. klantid is namelijk onbekend. Beter kan je gebruiken
HTML:
1
<input name="kCode" type="text" id="kCode" onChange="zoek(this.value);">


Vervolgens in de javascript voeg jij kCode toe aan de querystring, maar die bestaat helemaal niet
Verander het als volgt:
JavaScript:
1
2
3
4
5
6
<script language="JavaScript">
function zoek(klantid)
{
    frames['klantnaam'].location.href = 'productGegevensInvoer.asp?klantid='+ klantid;
}
</script>

Zorg ervoor dat je iFrame de naam klantnaam heeft.

Nu wordt in je iFrame de pagina productGegevensInvoer.asp geladen met als querystring klantid=#. Waarvoor # uiteraard staat voor de waarde die is ingevuld.

I'm not a complete idiot - several parts are missing.


Verwijderd

Topicstarter
Ik blijf een fout hebben op deze regel in mijn asp code
RSgetinfo.Open SQL con, 3, 3

Soort fout:
Compilatiefout Microsoft VBScript (0x800A0401)
Einde van de instructie wordt verwacht
/stage2/Assem/Formulieren/1/producten/productenGegevensInvoer.asp, line 283, column 19
RSgetinfo.Open SQL con, 3,3

ASP:
1
2
3
4
5
6
7
8
9
<%                  
SQL = "select kNaam from tblKlanten where kCode = " & klantid
'response.write SQL
Set RSgetinfo = server.createobject("ADODB.connection")
RSgetinfo.Open SQL con, 3,3
klantnaam = RSgetinfo("kNaam")
response.write klantnaam 'schrijf the klantnaam op het scherm
RSgetinfo.close
%>

Deze code heb ik geplaatst onder het textveld van kCode

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

Waar haal jij con vandaan?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
kalechinees had dit ook in zijn script staan, ik heb die con ook al verwijderd en dan krijg ik volgende fout
Soort fout:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

VBScript:
1
2
3
4
5
6
7
8
9
<%                    
SQL = "select kNaam from tblKlanten where kCode = " & klantid
'response.write SQL
Set RSgetinfo = server.createobject("ADODB.connection")
RSgetinfo.Open SQL, con, 3,3
klantnaam = RSgetinfo("kNaam")
response.write klantnaam 'schrijf the klantnaam op het scherm
RSgetinfo.close
%>

Komma achter SQL plaatsen. Dus SQL,con,3,3

Dat staat wel in de code van kalechinees, waarom deze in jouw code op onverklaarbare wijze er niet in staat....

[ Voor 13% gewijzigd door TeeDee op 22-09-2006 13:10 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Daarnaast is RSgetinfo bij jou een connection terwijl het bij kalechinees een recordset is. Je hebt de boel nogal door elkaar gehaald.

I'm not a complete idiot - several parts are missing.


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

WvdWest schreef op vrijdag 22 september 2006 @ 13:17:
Daarnaast is RSgetinfo bij jou een connection terwijl het bij kalechinees een recordset is. Je hebt de boel nogal door elkaar gehaald.
Basic debug werk dus ;)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Even voor de volledigheid:

productGegevensInvoer.asp
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
<%@ LANGUAGE="VBSCRIPT"%>
<!--#include file="../../../../Connections/connectionWiber.asp" -->

Set RSgetinfo = server.createobject("ADODB.recordset")
SQL = "select kNaam from tblKlanten where kCode = " & klantid
RSgetinfo.Open SQL, conn, 3, 3
  klantnaam = RSgetinfo("kNaam")
RSgetinfo.close
set RSgetinfo = nothing
conn.close

response.write klantnaam 'schrijf the klantnaam op het scherm

De conn die door de recordset vwordt gebruikt wordt geset in de connectionWiber.asp. je verandert jouw connectionWiber.asp dus in:
ASP:
1
2
3
4
5
6
<%
   set conn = Server.Createobject("ADODB.Connection")
   DataSource = "DRIVER={Microsoft Access Driver (*.mdb)}; "
   DataSource = DataSource & "DBQ=" & "D:\Websites\Stage\db\Wiber.mdb"
   conn.open DataSource
%>
lijkt erop alsof TS totaal geen idee heeft van ADO en ASP. Laat staan van Javascript. Waarom hij de werkende voorbeelden van kalechinees zo verbouwd heeft dat er niets meer van klopt is mij een raadsel 8)7

[ Voor 17% gewijzigd door WvdWest op 22-09-2006 13:30 ]

I'm not a complete idiot - several parts are missing.


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

WvdWest schreef op vrijdag 22 september 2006 @ 13:24:
De conn die door de recordset vwordt gebruikt wordt geset in de connectionWiber.asp. je verandert jouw connectionWiber.asp dus in:
ASP:
1
2
3
4
5
6
<%
   set conn = Server.Createobject("ADODB.Connection")
   DataSource = "DRIVER={Microsoft Access Driver (*.mdb)}; "
   DataSource = DataSource & "DBQ=" & "D:\Websites\Stage\db\Wiber.mdb"
   conn.open DataSource
%>
Dat lijkt me niet handig om met een DreamWeaver project te doen. Ik gok erop dat er dan meerdere projecten op miraculeuze wijze b0rked zijn.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
TeeDee schreef op vrijdag 22 september 2006 @ 13:27:
[...]

Dat lijkt me niet handig om met een DreamWeaver project te doen. Ik gok erop dat er dan meerdere projecten op miraculeuze wijze b0rked zijn.
Ok, ja ik werk ook nooit met Dreamweaver. En weet wel wat ik met een connection moet doen.

Als alternatief kan hij in de productGegevensInvoer.asp de connection aanmaken met de connection string uit connectionWiber.asp.

Voor de TS even opnieuw
connectionWiber.asp blijft zoals ie is:
VBScript:
1
2
3
4
5
6
7
8
9
10
<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO" 
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_connectionWiber_STRING
MM_connectionWiber_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Websites\Stage\db\Wiber.mdb;"
%>


productGegevensInvoer.asp wordt:
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ LANGUAGE="VBSCRIPT"%>
<!--#include file="../../../../Connections/connectionWiber.asp" -->
set conn = Server.Createobject("ADODB.Connection")
conn.open MM_connectionWiber_STRING

Set RSgetinfo = server.createobject("ADODB.recordset")
SQL = "select kNaam from tblKlanten where kCode = " & klantid
RSgetinfo.Open SQL, conn, 3, 3
  klantnaam = RSgetinfo("kNaam")
RSgetinfo.close
set RSgetinfo = nothing
conn.close

response.write klantnaam 'schrijf the klantnaam op het scherm

[ Voor 11% gewijzigd door WvdWest op 22-09-2006 13:38 ]

I'm not a complete idiot - several parts are missing.


Verwijderd

Topicstarter
Bedankt om mij allemaal te helpen, ik heb nog wel 1 probleempje en dat is dat mijn query niet volledig wordt ingevuld. de waarde van klantid blijft leeg of anders gezegd hier wordt niets in ingevuld.

Soort fout:
Microsoft JET Database Engine (0x80040E14)
Syntaxisfout (operator ontbreekt) in query-expressie kCode=.

deze fout moet liggen aan mijn javascript, ik weet wel niet aan wat het ligt maar ik zal verder zoeken. Toch bedankt om mij te helpen, ik weet dat ik hier niet echt goed in ben maar ja al het begin is moeilijk. Ik moet dit allemaal nog leren dus

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:54

gorgi_19

Kruimeltjes zijn weer op :9

klantid is leeg, zo te zien.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
idd, deze blijft leeg
iemand had mij verteld dat ik dit ook zo kan oplossen maar dit werkt helemaal niet

<td>Klantcode</td>
<td colspan="2"><input name="kCode" type="text" id="kCode" onchange="javascript:window.application='productenGegevensInvoer.asp?klantid=' + this.value;">

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op maandag 25 september 2006 @ 11:23:
deze fout moet liggen aan mijn javascript, ik weet wel niet aan wat het ligt maar ik zal verder zoeken. Toch bedankt om mij te helpen, ik weet dat ik hier niet echt goed in ben maar ja al het begin is moeilijk. Ik moet dit allemaal nog leren dus
Post misschien nog eens je javascript, de (relevante) html en de serverside code waar je klantid opvraagt en instelt? :)
Verwijderd schreef op maandag 25 september 2006 @ 11:37:
idd, deze blijft leeg
iemand had mij verteld dat ik dit ook zo kan oplossen maar dit werkt helemaal niet
<input name="kCode" type="text" id="kCode" onchange="javascript:window.application='productenGegevensInvoer.asp?klantid=' + this.value;">
Klopt, window.application is vziw geen geldige javascript... of een variabele, maar die doet dan nog niets.

[ Voor 32% gewijzigd door user109731 op 25-09-2006 11:54 ]


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Heb je mijn javascriptje gebruikt? Zo ja, welke pagina wordt dan opgevraagd in je iFrame?

I'm not a complete idiot - several parts are missing.


Verwijderd

Topicstarter
Ik heb uw javascriptje gebruikt en dit ziet er zo uit

code:
1
2
3
4
5
6
<SCRIPT LANGUAGE="JavaScript">
<!--Begin
function zoek(klantid){
frames['kNaam'].location.href = 'productenGegevensInvoer.asp?klantid='+ klantid;
} 
</script>


Hier de gegevens van mijn formulier
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 <form ACTION="<%=MM_editAction%>" METHOD="POST" name="frmProductInvoer" id="frmProductInvoer">
                <table width="476" border="0">
                  <tr>
                    <td width="147">ProductCode</td>
                    <td colspan="2"><input name="pCode" type="text" id="pCode"></td>
                    </tr>
                  <tr>
                    <td>Naam</td>
                    <td colspan="2"><input name="pNaam" type="text" id="pNaam" size="50"></td>
                    </tr>
                  <tr>
                    <td>Technische fiche </td>
                    <td colspan="2"><input name="pOmsc" type="text" id="pOmsc" size="50"></td>
                    </tr>
                  <tr>
                    <td>Klantcode</td>
                    <td colspan="2"><input name="kCode" type="text" id="kCode" onChange="zoek(this.value);">
                    
                    <span id="text"></span> 
                    </td>
                    </tr>
                  <tr>
                    <td>Klantennaam</td>
                    <td colspan="2">
<%                              
set conn = Server.Createobject("ADODB.Connection") 
conn.open MM_connectionWiber_STRING 
'response.Write(klantid)
Set rsklanten = server.createobject("ADODB.recordset") 
SQL = "select kNaam from tblKlanten where kCode= " & klantid
rsklanten.Open SQL, conn, 3,3 
klantnaam = RSklanten("kNaam") 
response.write klantnaam 'schrijf the klantnaam op het scherm 
%>
<iframe id="kNaam" name="kNaam"></iframe>
                      </td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td width="183">EUR</td>
                    <td width="124">BEF</td>
                  </tr>
                  <tr>
                    <td>Verkooprijs:</td>
                    <td><input name="pUitPr" type="text" id="pUitPr" onChange="javascript:uitPrNaarBef(this.form);"></td>
                    <td><input name="pUitPrBEF" type="text" id="pUitPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>Tot. Kostprijs : </td>
                    <td><input name="pInPr" type="text" id="pInPr" onChange="javascript:inPrNaarBef(this.form);"></td>
                    <td><input name="pInPrBEF" type="text" id="pInPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>Depotprijs:</td>
                    <td><input name="pDptPr" type="text" id="pDptPr" onChange="javascript:dptPrNaarBef(this.form);"></td>
                    <td><input name="pDptPrBEF" type="text" id="pDptPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>O.A. prijs: </td>
                    <td><input name="pOaPr" type="text" id="pOaPr" onChange="javascript:oaPrNaarBef(this.form);"></td>
                    <td><input name="pOaPrBEF" type="text" id="pOaPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>Arbeidskost</td>
                    <td><input name="pArbPr" type="text" id="pArbPr" onChange="javascript:arbPrNaarBef(this.form);"></td>
                    <td><input name="pArbPrBEF" type="text" id="pArbPrBEF" readonly=""></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>GROEP</td>
                  </tr>
                  <tr>
                    <td>Besteld Aantal </td>
                    <td>&nbsp;</td>
                    <td><input name="pGroep" type="text" id="pGroep"></td>
                  </tr>
<tr>
<td>Aantal naar cliënt: </td>
<td colspan="2"><input name="pNrKlantAant" type="text" id="pNrKlantAant" size="30"></td>
</tr>
</table>
<p>
<input name="ok" type="submit" id="ok" value="OK">
<input name="cancel" type="button" id="cancel" value="Cancel" onClick="javascript:history.go(-1)">
</p>
 <input type="hidden" name="MM_insert" value="frmProductInvoer">
</form>

  • user109731
  • Registratie: Maart 2004
  • Niet online
Die ASP-code die hierboven is te zien heb je toch wel in een aparte pagina staan he? :) productGegevensInvoer.asp in dit geval, en dat is een andere pagina dan die waarin het formulier staat.

Wil je misschien de relevante code uit productGegevensInvoer.asp ook posten? Het lijkt me niet in je javascript te zitten, zo op het eerste gezicht...

[ Voor 62% gewijzigd door user109731 op 25-09-2006 12:11 ]


Verwijderd

Topicstarter
woesp ik had deze niet in een andere pagina gestoken. heb dit nu even gedaan. Dit zijn de gegevens van "productenGegevensInvoer2.asp"

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%                              
set conn = Server.Createobject("ADODB.Connection") 
conn.open MM_connectionWiber_STRING 
'response.Write(klantid)
Set rsklanten = server.createobject("ADODB.recordset") 
SQL = "select kNaam from tblKlanten where kCode= " & klantid
rsklanten.Open SQL, conn, 3,3 
klantnaam = RSklanten("kNaam") 
response.write klantnaam 'schrijf the klantnaam op het scherm 
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
  <%
rsklanten.close 
set rsklanten = nothing 
conn.close 
%>


En de pagina waar het formulier zich in bevindt is productenGegevensInvoer.asp. Dit zijn de gegevens die zich hier 2 posts terug bevindt

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Of ik ben gek of je vult nergens een variabele genaamd "klantid" :P

Visual Basic:
1
SQL = "select kNaam from tblKlanten where kCode= " & klantid
De variabele "klantid" word nergens ingevuld lijkt het. Sowieso niet netjes om een variabele niet te definieeren maargoed. Haal dus de klantid uit je querystring en plaats deze in de variabele genaamd "klantid" in je ASP pagina.

Visual Basic:
1
2
Dim strKlantID 'as string
    strKlantID = request.querystring("klantid")


(Het is wel een klein beetje een rommeltje hoor :P )

De HTML in je pagina "productenGegevensInvoer2.asp" lijkt ook overbodig in dit geval. Maar om het netjes te doen zou je de "response.write klantnaam" tussen de body tags kunnen plaatsen.

Verwijderd

Topicstarter
dus als k ff alles op een rijtje zet

Op mijn pagina waar het formulier staat (productenGegevensInvoer.asp) komt het volgende te staan:
Het javascript tss de head
code:
1
2
3
4
5
6
<SCRIPT LANGUAGE="JavaScript">
<!--Begin
function zoek(klantid){
frames['kNaam'].location.href = 'productenGegevensInvoer2.asp?klantid='+ klantid;
} 
</script>


Mijn formulier (klopt hier de plaats van mijn link naar het javascript en de plaats van het iframe??)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="frmProductInvoer" id="frmProductInvoer">
                <table width="476" border="0">
                  <tr>
                    <td width="147">ProductCode</td>
                    <td colspan="2"><input name="pCode" type="text" id="pCode"></td>
                    </tr>
                  <tr>
                    <td>Naam</td>
                    <td colspan="2"><input name="pNaam" type="text" id="pNaam" size="50"></td>
</tr>
<tr>
<td>Technische fiche </td>
<td colspan="2"><input name="pOmsc" type="text" id="pOmsc" size="50"></td>
</tr>
<tr>
<td>Klantcode</td>
<td colspan="2"><input name="kCode" type="text" id="kCode" onChange="zoek(this.value);">
<span id="text"></span> 
</td>
</tr>
<tr>
                    <td>Klantennaam</td>
                    <td colspan="2">                    
<iframe id="kNaam" name="kNaam"></iframe>
</td>
</tr>
</form>


En op mijn andere pagina (productenGegevensInvoer2.asp) komt dit te staan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%          
Dim strKlantID 'as string 
strKlantID = request.querystring("klantid")                     
set conn = Server.Createobject("ADODB.Connection") 
conn.open MM_connectionWiber_STRING 
'response.Write(klantid)
Set rsklanten = server.createobject("ADODB.recordset") 
SQL = "select kNaam from tblKlanten where kCode= " & klantid
rsklanten.Open SQL, conn, 3,3 
'response.write klantnaam 'schrijf the klantnaam op het scherm 
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
  <%
rsklanten.close 
set rsklanten = nothing 
conn.close 
%>


Want zo heb ik het voor de moment maar dit wilt niet werken

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:02

TeeDee

CQB 241

Je vult strKlantID en je gebruikt klantid in je query.

Ik raad je ook aan om even rustig aan te doen, even adem te halen en een fatsoenlijke ontwikkelomgeving te gebruiken.

Dit soort meuk kan je ook voorkomen door in ieder geval Option Explicit te gebruiken. Undeclared variables etc. etc. zijn dan voor een groot gedeelte weg.

[ Voor 31% gewijzigd door TeeDee op 25-09-2006 13:22 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Weet je wat... Deze gaat op slot... Wij hebben het nog even aangekeken, maar dit wordt toch iets teveel handjes vast houden. Normaliter hoort dit topic thuis in Programming, maar daar begint het toch echt te mager te worden.

Topicstarter, als je nog problemen hebt, mag je gerust een nieuw topic openen in het juiste subforum en voordat je je topic opent, lees dan even goed de diverse policies en FAQ's door :)

Succes verder

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1

Dit topic is gesloten.