Как поместить входное значение (тип = текст) в HTML как результат функции JavaScript

Мне интересно, как поместить входное значение (вход = текст) в HTML как результат функции JS.

В настоящее время я использую эту функцию JavaScript;

function maketeststring(length) {
    let result = '';
    const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    const charactersLength = characters.length;
    let counter = 0;
    while (counter < length) {
      result += characters.charAt(Math.floor(Math.random() * charactersLength));
      counter += 1;
    }
    return result;
}
console.info(maketeststring(16));

Это мой входной код в HTML;
<input class = "test_string" type = "text" id = "teststring" readonly;>

Результат функции maketeststring всегда обновляется, когда пользователь обновляет веб-сайт (например, когда вы открываете веб-сайт в первый раз, это будет «IR5xOxAq30ZcOGku», когда вы обновляете веб-сайт, он будет перегенерирован в «Nnd2QlgSVFkjgthY». Я хочу, чтобы мое входное значение изменилось всякий раз, когда пользователи обновляют сайт. Заранее спасибо!

ты имеешь в виду поменять console.info(maketeststring(16)); на document.getElementById('teststring').value = maketeststring(16); ?

Godot 29.05.2024 15:52

Сейчас он работает отлично, но можете ли вы помочь мне отобразить его и в консоли? Я попробовал добавить console.info(maketeststring(16)) под строку document.getElementByID('teststring').value = maketeststring(16). На моем веб-сайте отображается одна строка, но в журнале консоли строка не совпадает. @Годот

jordimetil 30.05.2024 03:29

Я изменил свой комментарий на ответ, чтобы показать, как отображать его на входе И в консоли.

Godot 30.05.2024 08:46
Поведение ключевого слова "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) для оценки ваших знаний,...
1
3
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете получить и установить значение элемента ввода через свойство value. В твоем случае:

document.getElementById("teststring").value = "new value";

Подробнее об элементе ввода можно прочитать в этом документе: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input

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

Отвечаю, так как у вас есть дополнительные требования

Если вы хотите отобразить строку в поле И в консоли, то вам необходимо сохранить результат, так как каждый раз при вызове функции вы получаете новую строку

Я заключаю DOMContentLoaded, чтобы скрипт можно было разместить в заголовке перед элементами HTML.

function maketeststring(length) {
  let result = '';
  const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  const charactersLength = characters.length;
  let counter = 0;
  while (counter < length) {
    result += characters.charAt(Math.floor(Math.random() * charactersLength));
    counter += 1;
  }
  return result;
}
document.addEventListener('DOMContentLoaded', () => { // when page elements are available
  const saveString = maketeststring(16); // save the result
  console.info(saveString); // show it in console
  document.getElementById('teststring').value = saveString;
});
<input class = "test_string" type = "text" id = "teststring" readonly;>

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