Avatar billede marvinq Nybegynder
15. marts 2007 - 13:44 Der 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
%>

  stHold.value = "<%= recTp("cityBynavn") %>";
}
}
// -->
</SCRIPT>
Avatar billede keysersoze Ekspert
15. marts 2007 - 17:39 #1
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.
Avatar billede marvinq Nybegynder
15. marts 2007 - 17:54 #2
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å.

ellers tak
Avatar billede keysersoze Ekspert
15. marts 2007 - 22:17 #3
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.
Avatar billede keysersoze Ekspert
07. april 2007 - 16:44 #4
kommet videre?
Avatar billede marvinq Nybegynder
28. december 2012 - 13:13 #5
keysersoze, vil du smide svar.

Ajax var vejen frem.
Avatar billede keysersoze Ekspert
28. december 2012 - 14:09 #6
svar
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
Kurser inden for grundlæggende programmering

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