ввод ввода вызывает изменение ссылки - PullRequest
0 голосов
/ 31 мая 2019

Это ссылки на предыдущий вопрос, который я задал.Цель состояла в том, чтобы изменить iframe src с помощью ввода текста.После долгих экспериментов это сработало.Однако возникла новая проблема.После того, как я вхожу в ссылку и отправляю ее, она добавляет /? Link = link здесь в конец страницы и обновляет ее.Затем, после обновления, возвращается исходный src, что делает его бесполезным.Вот самый важный код:

 <iframe
  id="minecraftFrame"
  src="//classic.minecraft.net"
  height="500"
  width="800"
  frameborder="0"
  scrolling="no"
  allowfullscreen="true">
</iframe>
<input type="text" id="myInput" name="input">
<button class="button" onclick="changeChannel()">Go</button>
<script>   
function changeChannel(){
  document.getElementById("iFrame").src = document.getElementById("myInput").value;
}
</script>

Я не уверен, что попробовать на данный момент, так как я не слишком опытен с javascript.Я просто не хочу, чтобы главная страница обновлялась после изменения источника.

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Ваш код включал это --- document.getElementById ("iFrame"). Src идентификатор iframe - это "minecraftFrame", а не "iFrame" или вы можете использовать document.querySelector ('iFrame')

и остановите перезагрузку страницы с помощью

  function changeChannel(e) {
  e.preventDefault();
  // Code goes here
}
0 голосов
/ 31 мая 2019

Вам необходимо предотвратить дефолт, то есть остановить всплывающее окно событий, которое приводит к перезагрузке. Посмотрите, работает ли это для вас. Похоже, так и должно быть при отправке формы, что приведет к обновлению страницы.

function changeChannel() {
  event.preventDefault();
  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...