Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 6.34 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Email App</title>
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
  6.     <link rel="stylesheet" href="app.min.css">
  7.     <link rel="shortcut icon" href="#" />
  8.     <style>
  9.         .home-topbar {
  10.             background-color: blue;
  11.         }
  12.         .hidden {
  13.             display: none;
  14.         }
  15.         .success {
  16.             border: #7F7 2px solid;
  17.         }
  18.         .warning {
  19.             border: red 2px solid;
  20.         }
  21.  
  22.     </style>
  23. </head>
  24.  
  25. <body>
  26. <div class="app-page" data-page="home">
  27.     <div class="app-topbar home-topbar">
  28.         <div class="app-title">Sent An Email</div>
  29.     </div>
  30.     <div class="app-content">
  31.         <div class="app-section">
  32.             <div>Click below to sent an email!</div>
  33.         </div>
  34.  
  35.         <div class="app-section">
  36.             <div class="app-button" data-target="emailPage">Sent to new user</div>
  37.         </div>
  38.         <div class="app-section">
  39.             <!--
  40.            add email recipiants addresses from local storage here
  41.            Hide if emtpy
  42.            infinite scroll
  43.              -->
  44.         </div>
  45.     </div>
  46. </div>
  47.  
  48. <div class="app-page" data-page="emailPage">
  49.     <div class="app-topbar">
  50.         <div class="app-button right" data-back>Back</div>
  51.         <div class="app-title">Sent Email</div>
  52.     </div>
  53.     <div class="app-content">
  54.         <form method="post" id="myForm">
  55.             <div id="alert" class="app-section hidden"></div>
  56.             <div class="app-section">
  57.                 <p>From:</p>
  58.                 <input type="email" id="from" class="app-input" placeholder="You'r Email Address">
  59.             </div>
  60.             <div class="app-section">
  61.                 <p>To:</p>
  62.                 <input id="to" class="app-input" placeholder="Recipient Email Address">
  63.             </div>
  64.             <div class="app-section">
  65.                 <input id="subject" class="app-input" placeholder="Subject">
  66.                 <textarea id="message" class="app-input" placeholder="Message"></textarea>
  67.                 <div class="app-button green">Send</div>
  68.             </div>
  69.         </form>
  70.     </div>
  71. </div>
  72.  
  73. <!--<script src="zepto.js"></script>-->
  74. <script
  75.        src="https://code.jquery.com/jquery-3.4.1.min.js"
  76.        integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  77.        crossorigin="anonymous"></script>
  78. <script src="app.min.js"></script>
  79. <script>
  80.     App.controller('home', function (page) {
  81.         // put stuff here
  82.     });
  83.  
  84.     App.controller('emailPage', function (page) {
  85.  
  86.         function validateEmail(email) {
  87.             var re = /\S+@\S+\.\S+/;
  88.             return re.test(email);
  89.         }
  90.  
  91.         function unhideAlert(){
  92.             if ($("#alert").hasClass("hidden")){
  93.                 $("#alert").removeClass("hidden");
  94.             }
  95.         }
  96.  
  97.         function addUserEmail(email){
  98.             if (localStorage.userEmail || localStorage.userEmail != email) {
  99.                 localStorage.setItem ("userEmail", email);
  100.                 alert(localStorage.userEmail+" saved to local storage");
  101.             }
  102.         }
  103.         var tempEmail = localStorage.getItem("userEmail");
  104.         if (tempEmail) {
  105.             console.log('userEmail function ran '+ tempEmail);
  106.             $("#from").val(tempEmail); //<--- doesnt work!
  107.        }
  108.  
  109.        $(page).find(".app-button")
  110.            .on("click", function(){
  111.                //check if all fields are filled
  112.                if ($("#from").val() == "" || $("#to").val() == "" || $("#subject").val() == "" || $("#message").val() == ""){
  113.                    unhideAlert();
  114.                    if ($("#alert").hasClass("success")){
  115.                        $("#alert").removeClass("success");
  116.                    }
  117.                    $("#alert").addClass("warning");
  118.                    $("#alert").html("Not all fields are filled");
  119.                } else { //check if emails are valid
  120.                    if (validateEmail($("#from").val()) && validateEmail($("#to").val())) {
  121.                        var fromEmail = $("#from").val();
  122.                        var toEmail = $("#to").val();
  123.                        var subject = $("#subject").val();
  124.                        var message = $("#message").val();
  125.  
  126.                        $.ajax({
  127.                            url:'sentEmail.php',
  128.                            method:'POST',
  129.                            data:{
  130.                                fromEmail: fromEmail,
  131.                                toEmail: toEmail,
  132.                                subject: subject,
  133.                                message: message
  134.                            },
  135.                            dataType: "JSON",
  136.                            success: function(data) {
  137.                                unhideAlert();
  138.                                if ($("#alert").hasClass("warning")){
  139.                                    $("#alert").removeClass("warning");
  140.                                }
  141.                                if (data.error != "") {
  142.                                    $("#alert").addClass("success");
  143.                                    $("#alert").html(data.message);
  144.                                    $('#myForm').trigger("reset");
  145.                                    addUserEmail(fromEmail);
  146.                                } else {
  147.                                    $("#alert").addClass("warning");
  148.                                    $("#alert").html(data.error);
  149.                                }
  150.                            },
  151.                            error: function(data) {
  152.                                alert("error 2: something went wrong please try again later (AJAX)" + data);
  153.                            }
  154.                        })
  155.  
  156.                    } else {
  157.                        unhideAlert();
  158.                        if ($("#alert").hasClass("success")){
  159.                            $("#alert").removeClass("success");
  160.                        }
  161.                        $("#alert").addClass("warning");
  162.                        $("#alert").html("One or both email addresses are not valid");
  163.                    }
  164.                }
  165.            });
  166.    });
  167.  
  168.    try {
  169.        App.restore();
  170.    } catch (err) {
  171.        App.load('home');
  172.    }
  173. </script>
  174. </body>
  175. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement