Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.12.2020, 19:34
Новичок на форуме
Отправить личное сообщение для alexmngh Посмотреть профиль Найти все сообщения от alexmngh
 
Регистрация: 21.12.2020
Сообщений: 3

Как с помощью JS вставить скопировать текст из одного поля в другое
У меня есть форма ввода:

<form id="form01" th:method="POST" th:action="@{/add-car/new}" th:object="${carEntity}">
    <input type="text" id="input01" th:field="*{time}">
    <input type="time" id="input02" th:field="*{time}">
    ...
    <button type="submit" class="btn btn-primary">Save</button>
    <button type="submit" class="btn btn-primary">Delete</button>
</form>

Проблема заключается в том, что Thymeleaf ни как не хочет заносить значение из переменной time в поле ввода. Я понял, что без JS тут не обойтись, а я его ваще не знаю. Как мне с помощью JS скопировать значение value из поля input01 в input02 при нажатии на кнопку Save или при отрисовке формы, если это возможно?
Пробовал сделать вот так:
<form name="form01" ...>
    ...
    <button type="submit" class="btn btn-primary" onclick="setVal()">Сохранить</button>
</form>
<script>
    function setVal() {
        document.getElementById("input02").value = "21:45";
    }
</script>

Не работает
Пробовал отлавливать событие "change" первой формы, чтобы в этом момент сделать присвоение. Так тоже не работает, я подозреваю, что Thymeleaf делает это присвоение на стороне сервера иначе объяснить не могу.

Последний раз редактировалось alexmngh, 22.12.2020 в 08:50.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2020, 20:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

alexmngh,
document.getElementById("input02").value = document.getElementById("input01").value;
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2020, 08:43
Новичок на форуме
Отправить личное сообщение для alexmngh Посмотреть профиль Найти все сообщения от alexmngh
 
Регистрация: 21.12.2020
Сообщений: 3

Сообщение от рони Посмотреть сообщение
alexmngh,
document.getElementById("input02").value = document.getElementById("input01").value;
Это почти тоже самое, что и я привел в вопросе. Так не работает. Т.е. при нажатии на кнопку это поле остается пустым. Я не знаю почему. Может это как-то связано с Thymeleaf. На другом форуме мне подсказали, что возможно проблема в том, что Кнопка submit по умолчанию вызывает переадресацию страницы. Но как эти победить?
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2020, 09:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

alexmngh,

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<form id="form01" th:method="POST" th:action="@{/add-car/new}" th:object="${carEntity}">
    <input type="text" id="input01" th:field="*{time}" value="21:45">
    <input type="time" id="input02" th:field="*{time}">
    ...
    <button type="submit" class="btn btn-primary">Save</button>
    <button type="submit" class="btn btn-primary">Delete</button>
</form>
<script>
document.addEventListener( "DOMContentLoaded" , function() {
document.querySelector('.btn').addEventListener( "click" , function(event) {
event.preventDefault();
document.getElementById("input02").value = document.getElementById("input01").value;
   });
  });
</script>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2020, 11:10
Новичок на форуме
Отправить личное сообщение для alexmngh Посмотреть профиль Найти все сообщения от alexmngh
 
Регистрация: 21.12.2020
Сообщений: 3

Сообщение от рони Посмотреть сообщение
alexmngh,

<!DOCTYPE html>

document.querySelector('.btn').addEventListener( "click" , function(event) 
</html>
так функция не срабатывала, я добавил id в для кнопки и исправил на
document.getElementById('btn-01').addEventListener( "click" , function(event)

теперь вызывается, и значение заносится в поле, но тут вылезла другая проблема, теперь не отправляется запрос к серверу методом POST
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2020, 13:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Сообщение от alexmngh
не отправляется запрос к серверу
уберите
event.preventDefault();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить Select с помощью JS Alex921 Общие вопросы Javascript 4 04.01.2016 16:55
Изменяющийся блок clor Элементы интерфейса 9 22.08.2014 14:25
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02