» Poradna » Programy

Jak vytvořit jednoduchý formulář v souboru s JavaScriptem

 |   |  Android Chrome 80.0.3987.40

Nahrál jsem si a upravil tento script:<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><script src="https://smtpjs.com/v3/smtp.js"></script><script type="text/javascript">function sendEmail() {Email.send({Host: "smtp.seznam.cz",Username : "barmv@seznam.cz",Password : "1337@@@",To : 'barveramartin@gmail.com',From : "barmv@seznam.cz",Subject : "zkouška",Body : "Pokusný email html",}).then(function(message){alert("mail sent successfully")});}</script></head><body><form method="post"><input type="button" value="Send Email" onclick="sendEmail()"/></form></body></html>Chtěl bych mít možnost měnit obsah položek "To", "Subject" a "Body" nejlépe pomocí jednoduchého formuláře, který by byl součástí scriptu. Jak takový formulář vytvořit?A ještě jedna věc: šlo by nějak zamaskovat heslo (********)?Děkuji předem za odpověď.Magistr

Odpovědi na otázku

 |   |  Macintosh OS X AppleMAC-Safari 5.0

JavaScript je pokud vím vždy uživateli viditelný, je to kód, který se spoušti na úrovni prohlížeče. Proto se pro podobně formulárove účely používá PHP a další podobné jazyky. Na netu existuje rada hotových řešení, pokud si to nezvládnes naprogramovat sám.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 79.0.3945.117

Formulář třeba takto:https://pastebin.com/jNVFiaVwNení tam žádný design ani ošetření chyb v javascriptu, ale mělo by to být funkční.Co se týče zamaskování hesla, tak to defakto nejde. Lze ho trochu skrýt, že nebude přímo vidět v kódu například příkazem: atob("MTMzN0BAQA==") což po spuštění vyplivně tu tvojí hodnotu "1337@@@", ale každý trošičku šikovnější člověk si tu javascriptovou funkci dokáže spustit a zobrazit si ten výsledek tj 1337@@@. Takže to nelze skrýt takovým způsobem aby to bylo bezpečné.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.40

Za ten formulâře v odkazu mnohokrát děkuji. Funguje to OK.Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.58

Ten formulář co jste mi odkazem poslal mi ale funguje jen na Hostname:smtp.seznam.czNa smtp.gmail.com nefunguje. Jedná se o tenhle script bez formuláře:<!DOCTYPE html><html><head> <title></title> <script src="https://smtpjs.com/v3/smtp.js"></script> <script type="text/javascript"> function sendEmail() { Email.send({ Hostname : "smtp.gmail.com", Username : "barveramartin@gmail.com", Password : "************", Port: 587, To : "barmv@seznam.cz" , From : "barveramartin@gmail.com", Subject : "TEST", Body : "Kontrola gmailu", }) .then(function(message){ alert("mail sent successfully") }); } </script></head><body> <form method="post"> <input type="button" value="Send Email" onclick="sendEmail()"/> </form> </body></html>Pochopitelně, že místo hvězdiček používám validní heslo. Poradil byste mi co s tím? Děkuji předem za odpověď. Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 79.0.3945.130

Tak to netuším. Pokud máte jméno/heslo správně, tak to vypadá vyplněné OK. Problém bude někde mezi tím používaným javascript klientem a google serverem. Třeba mu tam chybí nějaké zabezpečení nebo bůh ví co. Ale pro vyřešení doporučuji postup:1) Musíte si být jistý že zadávané údaje jsou správné a funkční! Tj když použijete nějaký prověřený emailový klient (Outlook, Thunderbird atd) a zadáte tam stejné hodnoty tak vám odeslání emailu funguje?2) Pokud víte že zadávané hodnoty jsou správné a funkční, tak to chce z toho javascriptového klienta nějak vydolovat chybovou hlášku a zjistit v čem je problém.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 79.0.3945.117

Začněte tím, že alert("mail sent successfully") nahradíte za alert(message), protože teď mimo dev konzoli nemáte šanci vidět, co rozhraní pro odeslání reálně odpovědělo. Pokud bude vracet OK, tak je problém v komunikaci mezi API smtpjs.com, kam se data formuláře reálně předávají na zpracování, a SMTP serverem Google. Takový problém reálně odladit nepůjde.Ještě bych případně namísto odesílání přihlašovacích údajů tímto způsobem využil jejich SecureToken a nastavil připojení v režimu SSL na port 465.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Jednoduchý formulář, Head, Send, Zkouška


Určitě si přečtěte

Porovnání deseti cloudových disků: kam a za kolik uložit 100 GB, 1 TB a 10 TB dat?

Porovnání deseti cloudových disků: kam a za kolik uložit 100 GB, 1 TB a 10 TB dat?

** Zjistili jsme, kam do cloudu nejvýhodněji uložíte data ** Vytvořili jsme žebříček cen deseti cloudových úložišť ** Ceny se liší - často i velice výrazně!

Karel Kilián | 102

Nejlepší aplikace na předpověď počasí: Kde nejlépe zjistit, co zrovna chcete vědět

Nejlepší aplikace na předpověď počasí: Kde nejlépe zjistit, co zrovna chcete vědět

Obecných aplikací na předpověď počasí je nespočet, jenže často skončí jen u základní informace o počasí a nenabídnou odpovědi na řadu praktických otázek. A tak jsme si položili právě několik takových otázek a hledali aplikace či meteoslužby, které nám nejlépe odpoví.

Karel Kilián | 4

Google mapy, Seznam mapy, Apple mapy... Velké srovnání šesti internetových map. Kdo to dělá nejlépe?

Google mapy, Seznam mapy, Apple mapy... Velké srovnání šesti internetových map. Kdo to dělá nejlépe?

** Která klasická webová mapa se vám líbí nejvíce? ** Srovnali jsme šest velkých služeb v několika situacích ** Hlasujte v anketě

Jakub Čížek | 78


Aktuální číslo časopisu Computer

Megatest mobilů do 8 000 Kč

Test bezdrátových headsetů

Linux i pro začátečníky

Jak surfovat anonymně