inteligentny formular

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

inteligentny formular

Příspěvek od esso82 »

caute ..zas som tu...:))) potreboval by som poradit....

mam formular, ktory ma prvok select .... a ja by som chcel, aby sa po vybrani jednej z moznych poloziek objavili dalsie prvky formulara, najlepsie pochopite, ak pozriete obrazok....chcel by som, aby sa mi cely ten riadok tabulky kde je "Karta hry:" zobrazil ak sa v menu "Kategoria" vyberie moznost "Hry"

Obrázek

a este jedna vec, ked uz pisem....
ten textbox "Obrazok" zmenim na list, kde budu zobrazene vsetky nazvy obrazkov z adresara, problem nastane, ked bude viac obrazkov s podobnym nazvom a nebudem vediet ktory to presne je, tak aby som sa vyhol teorii skusania, chcel by som, aby sa mi vedla kurzora, alebo proste niekde zobrazoval nahlad k tomu obrazku ak nan ukazem v zozname.....neviete o nejakom javascripte alebo navode ako to spravit?

...velmi pekne dakujem za odpovede.....

e$$o82
loading...

PSN ID: esso82
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: inteligentny formular

Příspěvek od bubanek »

To první uděláš snadno javascriptem.
Např máš

Kód: Vybrat vše

<option>Hry</option>
<tr><td>Kategorie hry:</td></tr>
upravíš na:

Kód: Vybrat vše

<option onclick='ukaz()'>Hry</option>
<tr id='kategorie_hry' style='display: none;'>Kategorie hry:</td></tr>
a do <head> si přidáš malý javascript

Kód: Vybrat vše

<script type='text/javascript'>
function ukaz() {
var p=getelementbyid('kategorie_hry');
p.style='display: inline';
}
</script>
A to druhé už je běh na dlouhou trať.
Ale zase mě napadá poměrně jednoduché řešení pomocí JS, vypadalo by to nějak takhle:

Kód: Vybrat vše

<option value='obrazek1.jpg' onmouseover='nahled("obrazek1.jpg")' onmouseout='skryt_nahled()'>obrazek1.jpg</option>
za <body> by sis přidal tohle

Kód: Vybrat vše

<img src='' id='nahled_obrazku' style='position: absolute; top: 1px; left: 1px; display: none;' />
A opět jednoduchý JS:

Kód: Vybrat vše

<script type='text/javascript'>
function nahled(obrazek) {
var o = getelementbyid('nahled_obrazku');
o.src = obrazek;
o.style='display: block';
}
function skryt_nahled() {
var o = getelementbyid('nahled_obrazku');
o.style='display: none;';
}
</script>
Má to výhodu v tom, že se načte pouze obrázek, který chceš ukázat.
Nevýhodou je to, že to může chvíli trvat (než se obrázek načte).
Náhled by se v tomhle připadě ukazoval v levém horním rohu stránky, ale není problém to dát kamkoli jinam, třeba vedle toho kurzoru.

Jinak tohle je velice teoretické, je možné (čti jisté) že jsem někde udělal chybu -> nezaručuji že to tak bude fungovat.
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

dakujem velmi pekne za nakopnutie...toto som potreboval....nejaky smer kadial sa budem uberat...este som neskusal, ale ja sa s tym pohram keby to nefungovalo...nie som dilino :-D

este raz....vdaka
loading...

PSN ID: esso82
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

uz som tu :-D
narazil som hned na prvy problem

potrebujem (asi pomocou funkcie str_replace()) prepisat toto:

<option value='0'>- Žiadna -</option>
<option value='13'>Bezpečnosť</option>
<option value='1'>Chyby</option>
<option value='7'>Členovia</option>
<option value='9'>Filmy</option>
<option value='4'>Grafika</option>
<option value='5'>Hardware</option>
<option value='17'>Home</option>
<option value='18'>Hry</option>
<option value='21'>Konzola a príslušenstvo</option>

na toto:
<option value='0'>- Žiadna -</option>
<option value='13'>Bezpečnosť</option>
<option value='1'>Chyby</option>
<option value='7'>Členovia</option>
<option value='9'>Filmy</option>
<option value='4'>Grafika</option>
<option value='5'>Hardware</option>
<option value='17'>Home</option>
<option value='18' onclick='ukaz()'>Hry</option>
<option value='21'>Konzola a príslušenstvo</option>

nejako sa ale s tymi uvodzovkami ' a " neviem dohodnut, skusal som
$news_cat_opts = str_replace('<option value='18'', '<option value='18' onclick="ukaz()"', $news_cat_opts);
ale ono to berie to cislo 18 ako cislo a nie ako cast stringu, nepomaha ani '/"18/"' (a ani neviem, ci by to tak niekedy fungovalo) a skusal som dat to cislo aj do premennej ale to zas neviem, ci taka syntax moze byt, lebo to tiez nefunguje

uz sa trapim s tym 2 hodiny...pomozte mi pls.....
loading...

PSN ID: esso82
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

sry..uz netreba....vzdy ked napisem na forum, ze potrebujem pomoc po 2 hodinach trapenia, tak v dalsej polhodinke najdem riesenie :-D

Kód: Vybrat vše

$find = "<option value='18'";
$replace_with = "<option value='18' onclick='ukaz()'";
$news_cat_opts = ereg_replace($find, $replace_with, $news_cat_opts);
loading...

PSN ID: esso82
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od OndraSter »

No tak ono není od věci umět oescapovat daný text..

$news_cat_opts = str_replace('<option value=\'18\'', '<option value=\'18\' onclick="ukaz()"', $news_cat_opts);

Anebo, jak si pak udělal, smíchat správně " a ' uvozovky a apostrofy.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

jj..Ondro...ja som to skusal a uz som mal z toho hlavu v smutku....ale neva...hlavne ze to funguje

....a ten JS som si teda upravil takto:

Kód: Vybrat vše

function show_games_list() {
var tr=document.getElementById("game_card_list");
var tr2=document.getElementById("game_card_new");
tr.style.display='table-row';
tr2.style.display='table-row';
}
schova/ukaze tie dva riadky ak sa zo zoznamu vyberie kategoria "Hry"
...problem ale nastava vtedy, ak sa nacita stranka s uz oznacenou kategoriou "Hry"
vtedy su tie dva riadky stale schovane a ukazu sa az ked kliknem znova na tu kategoriu...
....haha...tak co fcil?
loading...

PSN ID: esso82
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

aha...som predsa kokoko....ospravedlnujem sa za zbytocne posty...

ten pripad co som pisal v predchadzajucom prispevku nastava ked sa $_POSTom predava hodnota, co som si neuvedomil, takze stacilo jednoducho IFom spravit podmienku ze if(!isset($_POST['..... potom zobraz ten onClick

ked budem mat dalsi problem, tak sa ozvem az po dvoch dnoch riesenia radsej, aby som zbytocne nespamoval 8-)


// OndraSter: příště edit, díky
loading...

PSN ID: esso82
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

takze mam problem....ako som pisal, ze chcem ten <tr> zobrazovat po kliknuti na kategoriu hry, ale samozrejme chcem aby zas zmizol, ked kliknem na inu kategoriu....neviem kde je chyba, kedze nepoznam JS prikazy a syntax...ale toto mi pripada celkom logicke:

Kód: Vybrat vše

function show_hide_element() {
var tr = document.getElementById("game_card_list").style.display;
IF (tr == 'none') {document.getElementById("game_card_list").style.display='table-row';}
ELSE {document.getElementById("game_card_list").style.display='none';}
}
ale nefunguje to....

v body je potom taketo nieco:

Kód: Vybrat vše

<tr id='game_card_list' style='display:none;'>
neviete mi poradit?
loading...

PSN ID: esso82
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: inteligentny formular

Příspěvek od bubanek »

1. nevím proč to nenapíšeš takhle:

Kód: Vybrat vše

function show_hide_element() {
var tr = document.getElementById("game_card_list").style.display;
if (tr == 'none') {tr='table-row';}
else {tr='none';}
}
2. jak tu funkci voláš?
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

prepac ze som nenapisal skor, ale uz som to vyriesil....samozrejme ma potom napadlo to napisat tak ako si napisal ty...ale nechcelo to fungovat ...az potom som prisiel na to ze IF sa pise ako if ... a preto to neslo....

a ked uz pisem ... potreboval by som lekciu z php este
... mam adresar a v nom obrazky, a chcem tie nazvy obrazkov zobrazovat v option zozname...takze som si vytvoril kod, ktory funguje spolahlivo, ale zaujimalo by ma, ci sa da vypisat to pole az od indexu 2, kedze pri vypise adresara som dostal [0] => . a [1] => ..
ja som to vyriesil takto:

Kód: Vybrat vše

//	vytvorenie zoznamu obrazkov	
	$web_imgs = IMAGES."web";
	$web_imgs = @opendir($web_imgs) or die("Nemôžem otvoriť adresár s obrázkami");
	while (false !== ($img_files = readdir($web_imgs))) {
		$imgs[] = $img_files;
   		}
	closedir($web_imgs);
	$imgs_list = ""; $sel = "";
	foreach($imgs as $op_num => $op_val) {
		if (isset($news_cat)) $sel = ($news_img == $op_val ? " selected='selected'" : "");
		$imgs_list .= "<option value='$op_num'$sel>$op_val</option>\n";
		}
	$find = "<option value='0'>.</option>\n<option value='1'>..</option>\n";
	$replace_with = "";
	$imgs_list = ereg_replace($find, $replace_with, $imgs_list);
da sa to spravit aj elegantnejsie...resp. ja viem ze da, ale ako?
loading...

PSN ID: esso82
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: inteligentny formular

Příspěvek od bubanek »

Co třeba takhle

Kód: Vybrat vše

while (false !== ($img_files = readdir($web_imgs))) {
if ($img_files != '.' && $img_files != '..') imgs[] = $img_files;
}
esso82
Začátečník
Začátečník
Uživatelský avatar
Registrován: 26. pro 2006
Bydliště: Plymouth (UK)
Kontaktovat uživatele:

Re: inteligentny formular

Příspěvek od esso82 »

ne e...to nefunguje ...pise:

Parse error: syntax error, unexpected '[' in C:\wamp\www\fusion\administration\news.php on line 216

EDIT: aha...uz to funguje...ja som totiz skopiroval ten tvoj riadok a tam je imgs[] namiesto $imgs[]

EDIT:
caute...potreboval by som zase radu:
...mam napriklad pole s tromi indexami a potrebujem zistit kluc pola, v ktorom sa nachadza zadefinovana premenna.....uvediem priklad...

$nieco[1] = "aaa, bbb, ccc, ddd";
$nieco[2] = "eee, fff, ggg, hhh";
$nieco[3] = "iii, jjj, kkk, lll";

$hladam = "fff";

takze mam premennu $hladam a potrebujem teda podla prikladu dosiahnut toto: $kluc = "2";

ak bude $hladam = "aaa"; tak bude $kluc="1";

uz skusam druhy den vselico mozne, ale bud mi hodi iba a jedine "3" alebo nic....help plllllsssss
loading...

PSN ID: esso82
Odpovědět

Zpět na „Programování a web“