Dialogové okno s možnostmi – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Dialogové okno s možnostmi – JavaScript, AJAX, jQuery – Fórum – Programujte.comDialogové okno s možnostmi – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
erenis
~ Anonymní uživatel
11 příspěvků
24. 11. 2007   #1
-
0
-

Zdravím,
existuje v javascriptu něco jako confirn, ale abych mohl nastavit, popis jednotlivých tlačítek? popřípadě jde udělat dialogové okno, do kterého můžu vložit libovolný počet svých tlačítek??

Nahlásit jako SPAM
IP: 212.80.64.–
Reklama
Reklama
Měsíček
~ Anonymní uživatel
18 příspěvků
24. 11. 2007   #2
-
0
-

Ne to nejde, jedině, že si namaluješ svůj box a nastyluješ si ho a pak ho pomocí JS odkrýváš a skráváš, ale jinak to co chceš opravdu nejde snad to spraví Javascript 3.0 :D

Nahlásit jako SPAM
IP: 85.207.199.–
Petroff0
Věrný člen
24. 11. 2007   #3
-
0
-

Co takhle modální okno, na stylování bych se vybodl - asi jde hlavně o popis tlačítek viď?
Předávaní výsledku jde více způsoby, myslím že existuje specialní modal.dialog s returnValue nebo tak nějak.
Anebo je před uzavřením přiřadit: opener.variable=XXX; self.close()

Nahlásit jako SPAM
IP: 89.102.211.–
Petroff0
Věrný člen
25. 11. 2007   #4
-
0
-

Modální okno je idealní způsob protože js kód pokračuje až po jeho uzavření.
Popis: http://www.webreference.com/js/column90/index.html[Modal and Modeless Dialog Boxes]
Příklad:

<html><head><title>CustomConfirm</title>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script>
/******************************************* zde se definují rozměry okna ***************/
vyska= 160; sirka= 600; /* nula->automaticky */
/******************************************* konec definice parametrů okna ***************/
function myConfirm(){ /* obsah dialogového okna je definován v souboru callee.html */
return window.showModalDialog("./callee.html","",
"dialogHeight:"+vyska+"px; dialogWidth:"+sirka+"px; center:yes;" )
}
</script>
</head>
<body onload='alert("Výsledek je :" + myConfirm())'> <!-- OTEVŘE DIALOG A PO AKCI VYPÍŠE VÝSLEDEK -->
</body>
</html>
Soubor: callee.html
<html><head><title></title></head>

<body >
<form id="frm">
<h5> Zadal jsi heslo - chceš použít jeho zapamatování pro automatické přihlášení? <h5>
</form>
<script>
function button(txt,sirka,result,nextline){
var f,p,b,len;
f=document.getElementById("frm");
f.style.textAlign="center";
document.getElementsByTagName("h5")[0].style.marginTop ="1ex";
b=document.createElement("BUTTON");
b.appendChild(document.createTextNode(txt));
f.appendChild(b);
if (nextline) f.appendChild(document.createElement("BR"));
b.style.margin = "1ex 0ex 0ex 2em";
b.style.padding = "2px 1ex";
if (sirka) b.style.width = sirka+"px";
b.style.textAlign ="center";
b.onclick=function(){eval("returnValue="+result+";window.close()")};
}
/**************************** zde se definují tlačítka *******************/
button("Zapamatovat",300,1,1); /* R=1 šířka=300px odřádkovat */
button("Odložit na později",0,2); /* R=2 */
button("Ignorovat",0,0); /* R=0 */
/***************************** konec definice tlačítek ******************/
</script>
</body></html>

UKÁZKA: http://exstream.atlasweb.cz/ModeDialog/caller.html

Nahlásit jako SPAM
IP: 89.102.211.–
Petroff0
Věrný člen
27. 11. 2007   #5
-
0
-

Předchozí ukázka funguje jen v IE.
Navíc je třeba vytvořit samostatný soubor s confirm dialogem.
Tento kód těmito nedostatky netrpí:

<html><head><title>CustomConfirm</title>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script>
var win=null,returnValue=0;
function myConfirm(js_code){
/**************************************** zde se definují parametry okna ***************/
var vyska= 160, sirka= 600,
napis= "Zadal jsi heslo - chceš použít jeho zapamatování pro automatické přihlášení?";
/****************************************** konec definice parametrů okna ***************/
function button(txt,sirka,result,nextline){
var f,p,b,len;
f=win.document.getElementById("frm");
f.style.textAlign="center";
win.document.getElementsByTagName("h5")[0].style.marginTop ="1ex";
b=win.document.createElement("BUTTON");
b.appendChild(win.document.createTextNode(txt));
f.appendChild(b);
if (nextline) f.appendChild(win.document.createElement("BR"));
b.style.margin = "1ex 0ex 0ex 2em";
b.style.padding = "2px 1ex";
if (sirka) b.style.width = sirka+"px";
b.style.textAlign ="center";
b.onclick=function(){win.opener.returnValue=result;win.close()};
}
win=window.open("about:blank","_blank",
"left="+(screen.availWidth-sirka)/2+",top="+(screen.availHeight-vyska)/2+",width="+sirka+",height="+vyska);
win.focus(); setTimeout(function(){win.focus()},1500);
win.document.open();
win.document.write("<html><head><title>CONFIRM</title></head><body onunload='opener.win=null'>" +
"<form id='frm'><h5>" + napis + "</h5></form></body></html>");
win.document.close();
/**************************** zde se definují tlačítka *************************/
button("Zapamatovat",300,1,1); /* R=1 šířka=300px odřádkovat */
button("Odložit na později",0,2); /* R=2 */
button("Ignorovat",0,0); /* R=0 */
/* R=0 je-li dialog ukončen uzavřením */
/***************************** konec definice tlačítek **************************/
returnValue=0;
var f=setInterval(function(){if(!win){clearTimeout(f);js_code()}},200);
}
/* POUŽITÍ: */
/* 1. JS kód před confirmem: */ function part1() { alert("Spustíme confirm") }
/* 2. JS kód po confirmu: */ function part2() { alert("Výsledek je: " + returnValue) }
/* Výsledek confirmu: gl.proměnná returnValue */

function program(){
part1();
myConfirm(part2)
}
</script>
</head>
<body onload='program()'>
</body>
</html>

Ukázka: http://exstream.atlasweb.cz/ModeDialog/caller_plus.html

Nevěděl by někdo jak donutit i Operu aby zobrazila dialog uprostřed okna (a ne vpravo dole) ???

Nahlásit jako SPAM
IP: 89.102.211.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

Dialogove okno inak — založil marioff

Vlastní dialogové okno v C# — založil paashi

Jtable,Dialogové okno ... — založil elvis

Win32 API - dialogové okno — založil vollf82

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý