15. marts 2007 - 13:44Der er
5 kommentarer og 1 løsning
SQL-kald i javascript
Har et javascript som kører i en .asp fil. I filen er en formular med postnummer indtastning. Når der er indtastet et nummer i postnummerfeltet (orderZipCode) som er over 999, så skal den vha 'onChange-kommandoen' lave et sqlkald til tabellen city og hente det tilsvarende bynavn. Normalt virker det fint, men det går galt når jeg skal bruge input til sql'en fra et input-felt i min formular... - hvordan dælen gør jeg det?? Det der står i orderZipCode-feltet inden scriptet køres skal indskrives i sql-sætningen... men hvordan!??
Har lige mit javascript vedlagt, håber I kan hjælpe.
<SCRIPT TYPE="text/javascript"> <!-- function showCity(oform) { // set references to fields var qty = oform["orderZipCode"]; var stHold = oform["orderCity"];
// only bother if the field has contents if (qty == "")return;
// if the with is not a number (NaN) or is zero or less everything goes blank if(isNaN(qty.value) || (qty.value <= 999)){ qty.value = ""; stHold.value = ""; }
// else the field is a valid number, so calculate the total order cost and put that value in the hidden subtotal field else{
<% Set recTp = Server.CreateObject ("ADODB.Recordset") recTp.Open "SELECT * FROM city WHERE cityPostnummer = '" & qty.value & "'", DataConn %>
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
ved ikke helt om jeg har misforstået noget eller... Men javascript kører jo clientside og asp kører serverside, dvs at du som udgangspunkt ikke kan kalde en javascript-funktion, der så udfører noget asp og ud fra det returnerer et resultat. Medmindre du vil lave en reload eller noget langhåret som fx AJAX så er du nødt til at udføre en fuld select og sende til dit javascript som så laver fx en case gennem alt asp-udtrækket.
var også ude i noget ajax, men det er som du selv siger vist lidt langhåret... som jeg ser det er det også noget rigtig skidt - men tænkte mere om der var en alternativ måde hvorpå man kunne løse problemet på.
hvorfor er ajax noget skidt? hvis det er fordi du er bange for at javascript er slået fra hos klienten vil du jo alligevel støde ind i problemer med ovenstående :)
ALtså - mit bedste forslag er at alt bliver læst fra databasen idet siden loades. Alternativt så lav en skjult iframe hvorfra du kan kalde en asp-fil der finder byen og sætter ind i dit felt.
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.