Avatar billede jenslund Juniormester
10. januar 2003 - 11:42 Der er 12 kommentarer og
1 løsning

Radio i alertbox

Hej alle

Jeg skal lave en udskriftsfunktion til en *.php-side

Nu har jeg på siden side.php:

<HTML>
<HEAD>
<SCRIPT Language="JavaScript1.2">
<!--
function openwindow(module_id)
{
win = window.open('../objectives/side_til_print.php?module_id=' + module_id, 'Udskriftsvindue', 'height=200,width=600, directories=no, title=no, location=no, menubar=no, resizeable=no, status=no, toolbar=no');

}
//-->
</SCRIPT>
</HEAD>
<BODY>

Bla bla - blandt andet et php/mysql-kald

<input type=\"button\" value=\"Udskriv\" class=\"button\" onclick=\"openwindow($module->id);\">

</BODY>
</HTML>

Sagen er den at jeg godt vil sende en variabel til til siden side_til_print.php. Men denne variabel skal først sættes efter brugeren har trykket \"Udskriv\".

Jeg forstiller mig den skal komme op med en box der giver brugeren mulighed for at vælge mellem tre forskellige muligheder. Den skal egentlig bare sende en værdi for printmode - hvor printmode kan være =1, =2 eller =3.
Dette fordi jeg på side_til_print vil have 3 forskellige outputs der skal genereres før print.

Hvordan gør jeg - jeg er på bar bund

Jens
Avatar billede Slettet bruger
10. januar 2003 - 19:27 #1
Prøv at ændre din funktion til dette:

function openwindow(module_id) {
nr = prompt("Vælg udskrifts-mode: 1, 2 eller 3.", "");
if (nr != null && nr.match(/^[1-3]$/))
win = window.open('../objectives/side_til_print.php?module_id=' + module_id + '&mode=' + nr, 'Udskriftsvindue', 'height=200,width=600, directories=no, title=no, location=no, menubar=no, resizeable=no, status=no, toolbar=no');
}

Så skulle variablen "mode" gerne indeholde et nummer fra 1 til 3.
Avatar billede Slettet bruger
10. januar 2003 - 19:27 #2
P.S. Du bør ikke have mellemrum i dine features til popup'en.
Avatar billede jenslund Juniormester
13. januar 2003 - 09:12 #3
Hej phoenixy

Det virker som sådan - jeg får sendt en variabel, men på en lidt ufed måde set fra brugeren. Det jeg var lidt ude efter var en egentlig radio-boks, så man 100% styrer brugerens indtast - så kan han/hun nemlig ikke skrive forkert - hæ hæ.

Håber du kan hjælpe

Jens
Avatar billede Slettet bruger
13. januar 2003 - 14:36 #4
Brugeren skulle heller ikke kunne skrive forkert, sådan som jeg har gjort det.

Men du kan også sagtens lave et par radio-buttons:

1: <input type="radio" name="mode" value="1" checked><br>
2: <input type="radio" name="mode" value="2"><br>
3: <input type="radio" name="mode" value="3">

Knappen:

<input type=\"button\" value=\"Udskriv\" class=\"button\" onclick=\"openwindow($module->id, this.form);\">

Og scriptet:

function openwindow(module_id, frm) {
for (i = 0; i < frm.mode.length; i++) {
if (frm.mode[i].checked)
nr = i + 1;
}
win = window.open('../objectives/side_til_print.php?module_id=' + module_id + '&mode=' + nr, 'Udskriftsvindue', 'height=200,width=600, directories=no, title=no, location=no, menubar=no, resizeable=no, status=no, toolbar=no');
}
Avatar billede jenslund Juniormester
13. januar 2003 - 15:01 #5
Jeg kan ikke lige gennemskue din kode - men det jeg er efter er en alertbox hvor brugeren først vælger i en radiobox i selve alert;

Så brugeren fx. trykker udskriv og - pop - op kommer en alert box der siger fx "Hvilket style vil du udskrive med" el.lign. og så trykker brugeren 1, 2, el 3 i radioboxog så går den til udskriftssiden

Men jeg prøver lige din kode

Jens
Avatar billede Slettet bruger
13. januar 2003 - 15:02 #6
Det kan du ikke. En alert-boks kan kun indeholde tekst.
Avatar billede jenslund Juniormester
13. januar 2003 - 15:07 #7
Hmmm - kan man lave en anden typre pøpøp-box der kan det jeg søger???
Avatar billede Slettet bruger
13. januar 2003 - 15:10 #8
Ja, men det virker kun i IE (hvis det da ikke skal være en helt normal popup).
Og hvorfor ikke bare lave et par normale radio-buttons på siden, hvor du kalder funktionen?
Avatar billede jenslund Juniormester
13. januar 2003 - 15:14 #9
P.g.a. gennemgående design hvor en række sidder forskellige steder i et content.management-system alle har en klap 'Udskriv' i højre hjørne - og lige præsis en af siderne kunne være lidt tjekket hvis man kunne vælge mellem tre forskellige muligheder for udskrift.
Avatar billede Slettet bruger
13. januar 2003 - 15:27 #10
Du kan jo bare åbne i et nyt vindue så. Lav en side, der hedder "udskriv.php":

<html>
<head>
<script>
function openwindow(module_id, frm) {
for (i = 0; i < frm.mode.length; i++) {
if (frm.mode[i].checked)
nr = i + 1;
}
win = window.open('../objectives/side_til_print.php?module_id=' + module_id + '&mode=' + nr, 'Udskriftsvindue', 'height=200,width=600,directories=no,title=no,location=no,menubar=no,resizeable=no,status=no,toolbar=no');
}
</script>
</head>
<body>
<form>
1: <input type="radio" name="mode" value="1" checked><br>
2: <input type="radio" name="mode" value="2"><br>
3: <input type="radio" name="mode" value="3"><br>
<input type="button" value="Udskriv" onClick="openwindow('<? echo $mi; ?>', this.form);">
</form>
</body>
</html>

Det åbnes fra den oprindelige side med:

<input type=\"button\" value=\"Udskriv\" class=\"button\" onClick=\"window.open('udskriv.php?mi=$module->id', 'nytVindue', 'width=300,height=300');\">
Avatar billede jenslund Juniormester
13. januar 2003 - 15:36 #11
He he - det er faktisk en rigtig god ide - det giver nemlig mulighed samtidig at tilføje forskellige andre beskeder/features tilbrugeren og man kan jo bare lave den så den ligner en alertbox
Avatar billede Slettet bruger
13. januar 2003 - 15:41 #12
I IE findes der en funktion, der hedder showModalDialog. Det får popup'en til at fungere som en alert-boks. Men du får ikke mig til at rode med det; det må du selv tænke dig frem til!
Avatar billede jenslund Juniormester
13. januar 2003 - 15:55 #13
Well - den skal også køre på mac og andre sekundære platforme så jeg tror jeg kører med den du foreslog - og giver dig point for et brugbart svar - selvom det ikke helt var hvad jeg ledte efter

Tak for hjælpen

Jens
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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