Подскажите, пожалуйста, у меня есть код, но по какой-то причине он не выполняется:
Код:<script> function iconRedir(element) { console.log("Redirecting..."); } document.getElementById("insertButton").addEventListener("click", function() { const topicLink = document.getElementById("topicLink").value; const race = document.getElementById("text1").value; const age = document.getElementById("text2").value; const insertedCode = `<a href="#tid=${topicLink}"></a><span class="MyredirICon" onclick="iconRedir(this)">${text1}, ${text2}</span>`; $("#main-reply").val(insertedCode); }); </script>
Конкретно стопорится выполнение вот этой строчки: $("#main-reply").val(insertedCode);
В форме ответа не появляется текст.
При этом если я ввожу
const insertedCode = `<a href="#tid=${topicLink}"></a><span class="MyredirICon" onclick="iconRedir(this)">${text1}, ${text2}</span>`; $("#main-reply").val(insertedCode);
в консоль, всё получается.
Пояснение:
Моя идея такова: я создаю сообщение на форуме с включённым html.
Там есть три поля ввода в который пользователь вводит данные и жмёт кнопку «Вставить» после чего в форму ответа вставляется готовый код с данными, которые ввел пользователь.
На этапе вставки кода в форму ответа что-то идёт не так.
P.S. Я немного выше приходил по аналогичному вопросу. Там правда скрипт был другой. Проблему я решил вставкой новой кнопки на панель bb кодов. Таким способом удавалось вставлять данные в форму ответа. Но, полагаю, проблему можно как-то иначе решить.
Целый код:
Код:[html]<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { font-family: Arial, sans-serif; } label { display: block; margin-bottom: 5px; } input[type="text"] { width: 50%; padding: 5px; margin-bottom: 10px; border-radius: 3px; } button { padding: 5px 10px; background: radial-gradient(ellipse at center, #2e1408 14%,#200702 100%); border-left: solid 1px #2F2C25; border-radius: 3px; color: #806E48 !important; box-shadow: inset 0px 0px 6px #855d42c7, 0px 3px 5px rgba(102, 48, 27, 0.553); border: none; cursor: pointer; } button:hover { background-color: #0056b3; } #output { margin-top: 20px; border: 1px solid #ccc; padding: 10px; white-space: pre; } .autolz { width: 20%; border: 1px solid #a9a685a8; border-radius: 5px; padding: 15px; margin: 10px; background-color: rgba(133, 113, 80, 0.4); text-shadow: #a9a685a8 1px 1px 0px; font-size: 12px; } </style> <title>Code Insertion Example</title> </head> <body> <div class="autolz"> <label for="topicLink">id темы:</label> <input type="text" id="topicLink"> <label for="text1">Текст 1:</label> <input type="text" id="race"> <label for="text2">Текст 2:</label> <input type="text" id="age"> <br><button id="insertButton">Вставить</button> </div> <script> function iconRedir(element) { console.log("Redirecting..."); } document.getElementById("insertButton").addEventListener("click", function() { const topicLink = document.getElementById("topicLink").value; const race = document.getElementById("text1").value; const age = document.getElementById("text2").value; const insertedCode = `<a href="#tid=${topicLink}"></a><span class="MyredirICon" onclick="iconRedir(this)">${text1}, ${text2}</span>`; $("#main-reply").val(insertedCode); }); </script> </body> </html> [/html]
Отредактировано Alisvel (23.08.23 02:45)