Я создал код для простого выбора и вставки в базу данных.
Этот код работает при тестировании из html в веб-браузере (Firefox & Chrome).
Однако это было сделано, чтобы быть плагином, плагин имел свои собственные ошибки, файл json уже был исправлен, и он вставляет информацию. Однако была проверка информации на JS, и плагин пропускает эту часть.
Форма имеет 5 полей, которые необходимо заполнить, и переключатель, после чего пользователь нажимает кнопку «Сохранить», Js проверяет информацию и, если она верна, отправляет ее в PHP, который вставляет информацию, это работает, когда выполняется в Интернете.
Но на плагине он пропускает эту проверку и отправляет информацию, однако он заполняется в PHP для вставки.
После поиска я уже видел руководство по расширениям Google и разработчикам Firefox, особенно это (https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution)
Мне удалось отобразить сообщение, однако оно проверяет поля при активации кнопки плагина, а не кнопки отправки.
index_FINAL.js
* Я сократил код, просто поместив несколько строк для проверки вместо всех
var ok = true;
function valida(f) {
ok = true;
var msg = "Empty fields:\n\n";
if(f.id_own.value == "")
{
msg += "Ticket Owner\n ";
ok = false;
}
if(f.Ticket.value == "")
{
msg += "Ticket ID\n";
ok = false;
}
if(ok == false)
alert(msg);
else { }
return ok;
};
document.addEventListener('DOMContentLoaded', function () {
var x = document.getElementById("btn_save");
x.addEventListener("click", valida());
});
index_FINAL.html
* Я сократил код, просто поместив конец HTML, где находятся кнопки и сценарии.
<div id="tick_but">
<br>
<button type="submit" class="btn btn-success" id="btn_save">Save</button>
<button type="reset" class="btn btn-danger" id="btn_cancel">Cancel</button>
</div>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script src="index_FINAL.js" type="text/javascript"></script>
</body>
</html>
Когда я пытаюсь активировать плагин, я получаю сообщение, сгенерированное js, указывающее, что у меня есть пустые поля, вместо вызова функции valida (), когда я нажимаю кнопку сохранения.
Я ожидаю, что он проверяет, когда я нажимаю кнопку сохранения не раньше.