Как получить доступ к форме с внешними js файлами? как скрыть конфиденциальный контент js от клиента?

Я использую emailjs для отправки электронной почты через мой бесплатный веб-сайт поддомена. С этим есть две проблемы. 1). Мой идентификатор учетной записи emailjs, идентификатор службы и идентификатор шаблона становятся общедоступными, поэтому любой может получить к ним доступ и отправить через него электронную почту. 2). чтобы решить эту проблему, я использовал следующий код, но он стал появляться в браузере "inspect Element" (инструмент разработчика).

     <?php echo "
<script>
   (function(){
      emailjs.init(my user id);
   })();
</script>" ; ?>
    <?php
      echo "<script src='js/formfilled.js'></script>"; 
    ?>

теперь моя кнопка отправки формы выглядит так

    <button onclick = "email();">
         Send
    </button>

теперь мой файл formfill выглядит так

var myform = $("form#myform");
function email(){

  var service_id = "default_service";
  var template_id = "xxxxxxxxx";

  myform.find("button").text("Sending...");
  emailjs.sendForm(service_id,template_id,"myform")
    .then(function(){ 
        alert("Sent!");
       myform.find("button").text("Send");
    }, function(err) {
       alert("Send email failed!\r\n Response:\n " + JSON.stringify(err));
       myform.find("button").text("Send");
    });
}

Проблема в том, что когда я нажимаю кнопку, а не отправляю электронное письмо, страница перезагружается. Извините, если это слишком глупо, я новичок и заранее спасибо.

ОБНОВИТЬ он работает, если я помещаю код в тот же файл (не используя внешний js) код:--

    <head>
              <script type = "text/javascript">
   (function(){
      emailjs.init("xxxxxxxxxxxxxxxxxxxxx");
   })(); </head>
</script>
<body>
            <!-- form is here-->
<script>

var myform = $("form#myform");
myform.submit(function(event){
    event.preventDefault();

  // Change to your service ID, or keep using the default service
  var service_id = "default_service";
  var template_id = "xxxxxxxxxxxxxxxxxxx";

  myform.find("button").text("Sending...");
  emailjs.sendForm(service_id,template_id,"myform")
    .then(function(){ 
        alert("Sent!");
       myform.find("button").text("Send");
    }, function(err) {
       alert("Send email failed!\r\n Response:\n " + JSON.stringify(err));
       myform.find("button").text("Send");
    });
  return false;
});
</script>
</body>

но если я помещу этот код в formfilled.js, он не работает. в чем причина этого?

Тип кнопка по умолчанию - представить, и это может частично объяснить вашу проблему.

gaetanoM 24.03.2018 14:48

@gaetanoM спасибо за беспокойство, пожалуйста, посмотрите код сейчас, когда он обновлен

Khushit Shah 24.03.2018 14:56

Идеально! Вы добавили event.preventDefault ();. Другой вопрос: Как скрыть или защитить код javascript со стороны клиента.

gaetanoM 24.03.2018 15:00

@gaetanoM по-прежнему, если я помещаю тот же код во внешний файл, он не работает. Почему?

Khushit Shah 24.03.2018 15:34

Взгляните на DOMContentLoaded

gaetanoM 24.03.2018 20:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
5
132
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Отвечать: использовать

 event.preventDefault(); 

и загрузка файла до загрузки кнопки.

Другие вопросы по теме