Autor | Zpráva | ||
---|---|---|---|
kopi Profil |
#1 · Zasláno: 10. 5. 2016, 13:07:19
dobrý den,
JS vůbec neovládám, ale tuším, že to, co potřebuji, bude umět právě JS. Pro Vás to asi bude velmi jedoduché :-) mám formuláře s poli: jméno, příjmení, email. Potřeboval bych, když někdo napíše do pole "jméno" pepa, do pole "příjmení" Novák, tak aby se automaticky do pole "email" vepsalo pepa.novak. Děkuji za každou radu. |
||
Trejpa Profil |
kopi:
Jak moc jednoduché to má být? Pouhé přepsání textu ze dvou políček do třetího je triviální. Ale vymyslet to blbuvzdorně závisí na zadání. Má se měnit velikost písmen? Mají se ze vstupů odstraňovat pro e-mail nedovolené znaky (mezery, tabulátory, @)? Má se odstraňovat diakritika? Jenom česká diakritika nebo i jiná? (Je třeba manuálně sestavit tabulku znaků, které a na co se budou převádět.) Co když má někdo e-mail s diakritikou? Má se zablokovat samočinná úprava políčka e-mailu, pokud již bylo jednou manuálně upraveno? Co má být cílem takové samočinné úpravy? Jestli je to nějaké demo, budiž. Ale jestli něco podobného hodláš nasadit do ostrého provozu na formulář pro běžné lidi s libovolným e-mailem, tak se na to vybodni. Zhorší to použitelnost. |
||
kopi Profil |
#3 · Zasláno: 10. 5. 2016, 14:19:44
uplně ideální představa by byla taková, že na začátku formuláře jsou checkboxy např. seznam, centrum, gmail
pak jméno a příjmení a email. Pokud uživatel zaškrtne seznam - do pole email se vytvoří jmeno.prijmeni@seznam.cz, pokud zaškrtne gmail, bude tam jmeno.prijmeni@gmail.com. Email by měl být malými písmeny bez diakritiky. Děkuji |
||
Keeehi Profil |
#4 · Zasláno: 10. 5. 2016, 14:56:03
Ale co když se jmenuješ Pepa Novák, ale email máš kopi@seznam.cz?
|
||
Trejpa Profil |
#5 · Zasláno: 10. 5. 2016, 15:02:56
kopi:
To je hodně naivní představa, že si lidé tvoří adresy ve tvaru jmeno tečka prijmeni zavináč nefiremni_domena_sluzby , a že jim samočinné doplnění e-mailu přesně v tomto tvaru usnadní práci. Naopak je zmate – místo rutinního vyťukání adresy budou muset kontrolovat a opravovat, trefovat se na znak, vymazávat…
Ale kdo chce kam… příklad |
||
kopi Profil |
#6 · Zasláno: 10. 5. 2016, 19:22:23
Jedná se o interní firemní systém. a při zakládání nových zaměstnanců je prostě dané, že ten email bude mít tvar jmeno.prijmeni@neco.cz, takže když personalistka zaškrtne, že zaměstnanec patří na pobočku 1 - email bude jmeno.prijmeni@pobocka1.cz, když na pobočku 1, tak jmeno.prijmeni@pobocka2.cz. Další funkcí by měla být kontrola duplicit, kdyby byly dva se stejným jménem i přijmením, aby to navrhlo jinou variantu emailu. Tak si ted říkám, jestli by nebylo jednodušší prostě ten mail napsat manuálně :D Každopádně děkuji.
|
||
Keeehi Profil |
#7 · Zasláno: 10. 5. 2016, 21:30:55
kopi:
Toto je jeden z mála případů, kdy by to mohlo být vhodné. |
||
kopi Profil |
#8 · Zasláno: 10. 5. 2016, 22:15:55
tak to jsem rád, že mi to aspoň někdo schválil :) mohl byste mi ukázat, jak se řeší ten návrh emailu v případě duplicit? v případě, že bysme měli třeba dva petry nováky? první registrovaný by měl petr.novak@neco.cz a druhý by měl petr2.novak@neco.cz? já jsem v Javascriptu opravdu ztracený. Děkuju
|
||
Trejpa Profil |
#9 · Zasláno: 10. 5. 2016, 22:36:47
kopi:
Tohle nelze dělat (čistě) v JavaScriptu, který nemá podle čeho zjistit, zda existuje nějaká e-mailová adresa. Někde na serveru poběží databáze (seznam) adres a nějaký serverový skript (třeba v PHP), který na základě odeslání požadavku ze stránky (odesláním formuláře, Ajaxem) porovná nově vytvářenou adresu s existujícími a buď ji vytvoří (dosud neexistovala) nebo oznámí chybu s potřebou upravit formulář. |
||
kopi Profil |
#10 · Zasláno: 10. 5. 2016, 22:45:10
tomu principu rozumím, jen jsem myslel, že by to šlo zjistit už při zadání jména a příjmení. Takže takhle to nejde? prostě tam musí být mezikrok v podobě odeslání formuláře? Nebo Javascript umí procházet databázi a porovnávat hodnotu inputu ihned bez potřeby odeslat formulář?
|
||
Trejpa Profil |
#11 · Zasláno: 10. 5. 2016, 23:07:42
kopi:
JavaScript se umí pomocí Ajaxu spojit s PHP skriptem, vyžádat si data a pokračovat i bez odeslání formuláře. Pořád ale potřebuješ program (PHP), který požadavek skriptu zpracuje proti databázi adres (minimálně zjištěním duplicity - ano/ne). Samotné vytvoření adresy může být reakcí až na odeslání. Rozhodně bych doporučil nechat závazné ověření duplicity teprve při ukládání na serveru - vrátí stejný formulář (vyplněný) s popsanou chybou a zvýrazněným políčkem e-mailu. Ajaxovou kontrolu bych použil jako informativní pro pohodlí uživatelů. Bude to jistější, kdyby náhodou: 1) vyplnili dva uživatelé formulář stejně ve stejnou chvíli, 2) pokusil se jeden uživatel odeslat formulář podruhé, třeba kvůli chybě, 3) kdyby Ajax selhal, 4) kdyby někdo podvrhl/přepsal data ve formuláři. |
||
Časová prodleva: 9 let
|
0