Avatar billede lasserasch Juniormester
09. juli 2006 - 17:16 Der er 14 kommentarer og
2 løsninger

Hente data ind fra valg i et popupvindue.

Hejsa.

Jeg har en ganske alm. form som kan oprette record i en database, med nogle oplysninger som brugeren indtaster.

I denne form er der felter til indtastning af navne mv.

Jeg har også 10 linier, som hver indeholder 5 kolloner.
På disse linier skal der gerne kunne hentes nogle data ind, fra en database. Det er nogle vareinformationer, man skal kunne tilknytte den record man er ved at oprette.

Hver linier indeholder kollone til : varenummer, varenavn, pris, mængde, enhedsangivelse (KG, Liter osv)...

Jeg kunne godt tænke mig hvis man kunne klikke på et link f.eks. til højre fra linien, som åbnede et nyt vindue. Dette nye vindue hentede så alle varerecords fra en database, så man fik dem listet i en tabel!

Min udfordring er så at lave det sådan, at når brugeren vælger en vare fra listen og klikker på en ok knap, så lukkes vinduet igen og man vender tilbage til formen, men med data hentet ind i liniens 5 kolloner.
De data man netop har valgt i popup vinduet!

Men hvordan pokker gøres det med ASP?

Man kunne selvfølgelig submitte sin form og gemme de data brugeren allerede havde indtastet, hente dem ind i variabler på siden der viste varekartoteket, og så sender alle informationer med retur til formen igen! Men det må næsten kunne gøres smartere...

Håber en har den perfekte løsning til dette!

/Lasse
Avatar billede hnteknik Novice
09. juli 2006 - 17:29 #1
Lasse

prøv at kigge på html koden bag denne

http://www.solit4u.dk/kalender/

og klik på på en dato og studer koden bagved popup vinduet.
det er nemmelig ikke asp men ren dhtml. Alt undtagen asp koden, der skal gemme i dben står der.
Avatar billede lasserasch Juniormester
09. juli 2006 - 18:20 #2
Hmmm.... Den giver så en Intern Server fejl, når man forsøger at gemme den.

Findes der ikke en smart funktion til det? I Visual Basic kan det jo sagtens lade sig gøre. Der må da findes en eller anden funktion som også kan bruges sammen med ASP til at udføre det!

/Lasse
Avatar billede hnteknik Novice
09. juli 2006 - 18:33 #3
Den fejler fordi dben bagved er skiftet over til en SQL 2000 server. Det er jo ikke noet med sagen at gøre - du skulle kigge på javascriptet bagved. Hvor data føres tilbage til moderformen, hvor en skjult form overfører data til databasen. Det har altså ikke noget med asp at gøre.
Avatar billede soes Nybegynder
10. juli 2006 - 22:28 #4
Jeg vil mene at opgaven kan løses via javascript.

Hvis du åbner et nyt vindue fra en side, så vil du have adgang til alle de forskellige felter via window.parent i javascript.

hvis du har et felt på hovedsiden der hedder noget med orderNo så kan du fra det andet vindue indsætte en værdi med window.parent.forms[0].orderNo.value = "someValue".

Du må ikke holde mig op på syntax da jeg ikke lige har et konkret eks. ved hånden.
Avatar billede lasserasch Juniormester
10. juli 2006 - 23:02 #5
Ok. Jeg er ikke specielt god til javascript, så jeg ville blive ekstrem glad, hvis en kunne give et konkret eksempel, som jeg kunne se...

Der skal dog tages højde for at det er en linie jeg skal have retur. En linie indeholder måske 5 kolloner. Så ved at trykke på en vælg knap på popup vinduet, skal den altså smide data ind i alle 5 felter på en gang og så lukke popup vinduet igen!

Hvis en af jer kan give et eksempel på dette. Bare meget simpelt, og så gøre det som et svar, så skal jeg nok få de points smidt af sted!

/Lasse
Avatar billede farving Nybegynder
10. juli 2006 - 23:25 #6
jeg arbejder på et eksempel, men det er ikke ligefrem nemt :)

Mvh Carsten
Avatar billede farving Nybegynder
11. juli 2006 - 00:05 #7
Jeg må melde pas, for lige nu kan jeg ikke få den til at overføre værdier :( hvis der ikke er nogen der er kommet med en løsning så skal jeg da kigge på det i morgen

Mvh Carsten
Avatar billede soes Nybegynder
11. juli 2006 - 08:08 #8
Vil lige se om jeg kan skrive noget sammen i min frokost pause. Er lidt hårdt spændt for her på arb. så evt. i aften kommer der et eks. fra mig.
Avatar billede farving Nybegynder
11. juli 2006 - 09:16 #9
jeg havde tænkt mig det var noget i den her stil, men jeg kan ikke få det til at virke og har ikke lige tid til at fejlfinde, men kan være soes kan bruge det til hurtigt at komme videre...

Main.html
======
<html>
<head>
<script language="JScript">
function popup(varer){
    var strURL = "popup.html?varer=" + varer;
    NewWin = window.open(strURL, varer, 'width=500,height=600,resizable');
    NewWin.document.getElementById("info").value = varer;
    NewWin.focus();
}

</script>
</head>

<body>
<form name="navn" onsubmit="action">
frugt: <input type="text" id="frugt" value=""><input type="button" onclick="popup('frugt')" value="vælg" /><br />
sko: <input type="text" id="sko" value=""><input type="button" onclick="popup('sko')" value="vælg" /><br />
</form>
</body>
</html>

popup.html
=======
<html>
<head>

</head>

<body>
<script language="JScript">
function popdown(varer){
    info = document.getElementById("info").value;
    window.parent.document.getElementById(info).value = varer;
    window.parent.focus();
    window.close();
}
</script>
<form name="infotext">
<input id="info" type="hidden" value="" />
</form>
<table>
    <tr>
        <td>banan<button onclick="popdown('banan')"</td>   
    </tr>
    <tr>
        <td>blomme<button onclick="popdown('blomme')"</td>   
    </tr>
</table>
</body>
</html>


=======

Mvh Carsten
Avatar billede soes Nybegynder
11. juli 2006 - 09:37 #10
Har ikke lige set på din kode, men der er lidt her:

//page1.html
<html>
<script type="text/javascript">
var w;

function doShowPopup() {
    w = window.open("popup.html");
}
</script>
<body>
<form>
<input type="text" id="fldOrderNo" readonly="true" /><input type="Button" onclick="doShowPopup();" value="Fill">
</form>
</body>
</html>

//popup.html
<html>
<script type="text/javascript">
function InsertValue() {
    with(opener.document.forms[0]) {
        fldOrderNo.value = document.forms[0].newValue.value;
    }
   
    window.close();
}
</script>
<body>
<h3>Popup</h3>
<form>
<input type="text" id="newValue"/><input type="Button" value="Insert 'n Close" onclick="InsertValue();"/>
</form>
</body>
</html>
Avatar billede soes Nybegynder
13. juli 2006 - 20:06 #11
Har du fået prøvet det af, og kan du hitte rundt i det?
Avatar billede lasserasch Juniormester
13. juli 2006 - 20:54 #12
Jepp... Har finpudset så det hele passer til mig egen kode, men fungerer! Tak
Avatar billede lasserasch Juniormester
13. juli 2006 - 20:55 #13
Smid et svar! evt. begge to, så kan i dele points jo... *SS*!
Avatar billede farving Nybegynder
13. juli 2006 - 23:20 #14
svar :)

Mvh Carsten
Avatar billede soes Nybegynder
13. juli 2006 - 23:27 #15
du får lige et svar
Avatar billede hnteknik Novice
16. juli 2006 - 22:08 #16
HM - du kunne have taget al javascriptkoden fra min kalender og popuppen som kommer med klikket. Men what the heck.
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