Autor | Zpráva | ||
---|---|---|---|
charlie2806 Profil |
#1 · Zasláno: 4. 9. 2012, 15:23:51
Marně hledám a zkouším jak ještě před odeslání m formuláře udělat podle 3 polí ulice, c.p. a město tlačítko, které by odevrelo nové okno s mapou a ukázalo adresu podle těch 3 vyplnenych poli
Jestli javascript umí vzít hodnoty a zavolat podle nich nové okno Pořád nemohu přijít na to jak Jsem tedy začátečník |
||
Darker Profil |
#2 · Zasláno: 4. 9. 2012, 15:35:36 · Upravil/a: Darker
Získání hodnoty z pole formuláře.
Otevření nového okna. Javascript API pro Google maps - pokusím se najít přímo to, co hledáš, ale nevidím důvod, proč bys mezitím nemohl hledat také. Asi bych pro začátek zkusil nové okno nasměrovat na výsledek vyhledávání na zadanou adresu: "https://maps.google.cz/maps?q="+adresa_z_formulare |
||
charlie2806 Profil |
#3 · Zasláno: 4. 9. 2012, 16:25:48
API jsem našel už dávno a tu spodní adresu mám přesně takhle odzkouseno a v html není problém
Ale potrebuju to udělat z vyplnenych polí ještě před odeslanim formuláře Nevím jak nacist v javascriptu pole a vytvořit URL a otevřít okno |
||
Darker Profil |
charlie2806:
„Ale potrebuju to udělat z vyplnenych polí ještě před odeslanim formuláře“ Darker: „Získání hodnoty z pole formuláře.“ A příště se nestyď sdělit, jak daleko jsi už s řešením problému pokročil. |
||
charlie2806 Profil |
Darker:
Získání hodnoty mě směřuje na jiný zápis ale to bych i našel Okno i podle příkladu se mi stále otevírá ve stejném okně a tu adresu navíc skládá m asi blbě Nešel by prosím napsat příklad, mě ještě zatím asi trochu uniká syntax |
||
Darker Profil |
#6 · Zasláno: 4. 9. 2012, 16:53:29
charlie2806:
„Okno i podle příkladu se mi stále otevírá ve stejném okně a tu adresu navíc skládá m asi blbě“ Mohli bychom to vidět? |
||
charlie2806 Profil |
#7 · Zasláno: 4. 9. 2012, 18:01:06 · Upravil/a: charlie2806
Darker:
Večer jsem dám zdroj co jsem zpatlal. Jsem teď v autě Živou ukázku nemám, mám to zatím jen na locale |
||
Keeehi Profil |
#8 · Zasláno: 4. 9. 2012, 21:12:22
|
||
charlie2806 Profil |
#9 · Zasláno: 4. 9. 2012, 22:07:32
Keeehi:
http://eger.cz/zkouska.html |
||
Darker Profil |
#10 · Zasláno: 4. 9. 2012, 22:27:30 · Upravil/a: Darker
Asi to bude chtít povídání o escapování. Zklamalo mě, že se mi nepovedlo vyhledat žádný přehledný článek.
V HTML můžeš pro eventy používat uvozovky dvěma způsoby: buď použiješ místo uvozovky její entitu (hádám že ") nebo místo uvozovky použiješ apostrof, který se v javascriptu chová stejně jako uvozovka. Rovnou také zmíním, že by se rovněž měly nahrazovat znaky AND (&) v odkazech: http://host.com/path?name=value&name2=value2 Tedy například: <span onclick="window.open('https://maps.google.cz/maps?q=' + document.obec.value, '_blank'); return false">
Možná by ses dostal dál, kdybys používal editor se zvýrazňováním syntaxe. (např.: PsPad, Netbeans, Code::Blocks) http://cs.wikipedia.org/wiki/Escapov%C3%A1n%C3%AD#Entity |
||
charlie2806 Profil |
#11 · Zasláno: 4. 9. 2012, 22:35:12
Darker:
Editor pouzivam Bluefish, ktery mi zobrazuje barevne Uvozovky jsem nahradil apostrofem a nic Zadne okno mi to neotevre. Chtel jsem v te mape timto pokusem najit alespon mesto a nic |
||
Darker Profil |
#12 · Zasláno: 4. 9. 2012, 22:53:51
charlie2806:
„Editor pouzivam Bluefish, ktery mi zobrazuje barevne“ Ale nebylo vám nic divné? <a herf="" nohref="nohref" onclick="alert("chyba")">Zdá se že zvýrazňovači tady to divné je.</a> Budu rovněž muset sprostředkovávát chybovou konzoli? SyntaxError: return not in function |
||
charlie2806 Profil |
#13 · Zasláno: 4. 9. 2012, 23:02:01
Darker:
I kdyz tam adresu vlozim pro pripad ze by skript nefungoval, tak stejne se mi odkaz v javascriptu nepusti Umite mi poradit, jak ma ten prikaz byt spravne aby fungoval ten muj konkretni pripad? |
||
Darker Profil |
charlie2806:
Už v [#12] jsem nakopíroval chybovou hlášku kterou to hází. Když vidím, že to nestačí, pokusím se to ještě vysvětlit. Eventy zadané jako vlastnosti HTML elementů (onclick, onmouseover, onload...) se převádějí na funkce: function (event) { /*skript*/ return; } skript.js return false; alert("never say never"); //Nevyskočí Záměrně jsem to rozepsal a nenapsal jen "smažte return false". Když nešetříte můj čas čtením chybových hlášek, nečekejte to jednoduché. Ještě dodám, že charlie2806 přesunul skript z onclick="/*...*/" do href="javascript:/*...*/. |
||
charlie2806 Profil |
charlie2806:
Pokud zdrzuji tak se omlouvam. Smazal jsem return false a vysledek je naprosto stejny Omlouvam se tedy, ale javascriptu moc nerozumim Ten presun byla jen zkouska co to udela. Ted je to zpet a stejne to nechodi Jinak jsem samozrejme cerpal zde Nové okno kde jsem ten return false okoukal ;-( |
||
Darker Profil |
#16 · Zasláno: 5. 9. 2012, 00:10:15 · Upravil/a: Darker
Takže opět vzdálená chybová konzole s výkladem:
TypeError: document.obec is undefined Do onclick příkaz return false patří. (Jak jsem očividně zcela zbytečně pospal ve [#14]). A odkazu bych dal href="javascript:void(0)". To prostě způsobí že kliknutí nic neudělá /nepřesměruje/. Na onclick to nemá vliv, ten bude fungovat, pokud si ho opravíte. Po opravě mi to funguje. Použil jsem ale document.forms[poradiformulare].jmenoInputu.value. |
||
charlie2806 Profil |
#17 · Zasláno: 5. 9. 2012, 09:56:50 · Upravil/a: charlie2806
Darker:
Děkuji moc, už to chodí Nikde jsem u sebe nenašel tu chybovou konzoli. Ta by opravdu pomohla Darker: Pokud bych Vás ještě mohl poprosit o jednu poslední věc, protože vidím že tomu zřejmě dost rozumite Když mám 2 pole input do kterých se vloží čas ve tvaru HH:MM a potřeboval bych v javascriptu udělat rozdíl těchto 2 časů, abych zjistil třeba zda je menší nebo větší než 3 hodiny Děkuji předem a víc už opravdu nepotřebuji |
||
Darker Profil |
#18 · Zasláno: 5. 9. 2012, 18:14:13
charlie2806:
„Nikde jsem u sebe nenašel tu chybovou konzoli. Ta by opravdu pomohla“ Firefox, Google chrome: CTRL+Shift+J IE: F12 Opera:Ctrl+Shift+O (dragonfly se vyvolá pomocí Ctrl+Shift+I) Pro firefox také existuje doplňek Firebug, který krom chyb zobrazuje také strukturu HTML, CSS, cookies a seznam odeslaných požadavků. Funkce pro rozdíl času (vrací minuty) function rozdilCasu(a,b) { a = a.replace(/[^0-9:]/g,""); //Odebrání neočekávaných znaků /mezery/ a = a.split(":"); //Rozdělení na minuty a sekundy podle znaku : b = b.replace(/[^0-9:]/g,""); b = b.split(":"); if(a.length!=2||b.length!=2) //Pokud text obsahoval více dvojteček - tedy byl rozdělen na více dílů return false; a=a[0]*60+1*a[1]; //hodiny*60 + minuty = převod na minuty b=b[0]*60+1*b[1]; return Math.abs(a-b); //Vrátí rozdíl } var n=rozdilCasu("12:30","11:00"); alert("Rozdíl je "+n+"minut."); |
||
charlie2806 Profil |
#19 · Zasláno: 5. 9. 2012, 21:54:58
Darker:
Mnohokráte děkuji |
||
charlie2806 Profil |
#20 · Zasláno: 5. 9. 2012, 23:09:06
Darker:
Ještě se prosím zeptám zda ve funkci mohu volat další funkci <script> function kontrolaDat(vstup){ if(vstup.CASOD.value == "" || vstup.CASDO.value == "") {alert("Musíte zvolit čas schůzky"); return false;} if(vstup.KOULICE.value == "" || vstup.KOCP.value == "" || vstup.KOOBEC.value == "") {alert("Adresa je neúplná. Musí být ulice,č.p. a město.\nTaké je lépe uvést PSČ pro lepší ověření v mapě"); return false;} if(rozdilCasu('vstup.CASDO.value','vstup.CASOD.value') < 150) {alert("Čas na schůzku je příliš krátký"); return false;} else return true;} </script> Takhle mi to totiž nefunguje takže zase dělám něco blbě že? |
||
preca1 Profil |
#21 · Zasláno: 6. 9. 2012, 10:22:18
charlie2806:
Zdravim, funkce ve funkcích volat de (alert je taky funkce). Problém je na řádku 7, kde do té funkce posíláš stále stejné stringy a ne hodnoty proměnných. Docela základní chyba, kterou si moh objevit i sám. Vřele doporučuju se naučit s jedním z těch debugovacích nástrojů, které zmínil Darker v [#18]. Můžeš v něm jít krok po kroku ve funkci a koukat, jaký hodnoty maj jednotlivý proměnný a co se vlastně v tom scriptu děje. Dle mých zkušeností je na JS nejlepší ten v Chrom(i)u. U mě na počítači se vyvolává pomocí F12, Darker má předpokládam Mac. |
||
charlie2806 Profil |
#22 · Zasláno: 6. 9. 2012, 11:05:43
preca1:
Moc se omlouvám, už se s tím nějak poperu Consoli mám otevřenou, ale žádná chyba v ní uvedená není Nebudu zdržovat, nějak už to vyřeším. Jsem v javascriptu uplný laik |
||
Darker Profil |
#23 · Zasláno: 6. 9. 2012, 11:23:56
preca1:
„Darker má předpokládam Mac.“ To předpokládáš špatně. „Dle mých zkušeností je na JS nejlepší ten v Chrom(i)u.“ Když už jsme u ovlivňování, doporučuji Dragonfly v opeře a Firebug pro firefox (musí se n¨bohužel stáhnout jako doplňek). |
||
charlie2806 Profil |
#24 · Zasláno: 6. 9. 2012, 23:13:59
Děkuji moc, nakonec jsem to podle rad rozchodil a snad se i něco naučil ;-)
|
||
Časová prodleva: 12 let
|
0