@Sizoider

Почему в переменную не приходит значение функции?

всем привет.
что то я не могу понять почему в переменную не приходит значение из функции
ребят помогите
<form>
  Band name <input type="text" name="name" id="bandname"><br>
  <input type="submit" value="Submit" onclick="submitValue();">
</form>


function submitValue(){
  var startStr = 'http://api.bandsintown.com/artists/';
  var endStr = '/events.json?app_id=sizoider';
  var a = document.getElementById("bandname").value;
  a = a.replace(/\s/g, "%20");
  var query = startStr + a + endStr;
  return query;
}
var val = submitValue();
console.log(val);
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 2
alsopub
@alsopub
А что вы собственно хотите сделать?
В какую переменную вы хотите чтобы "пришли" значения из функции?
Вы никуда не записываете результат работы функции.

Ваш код сейчас работает так.
При загрузке страницы в консоль выводится результат функции при пустом поле ввода - "api.bandsintown.com/artists//events.json?app_id=si..."
При нажатии на кнопку, происходит вызов функции, который в общем-то ничего не меняет, и сразу за этим идет сабмит формы методом GET по текущему адресу, что перезагружает страницу. При этом, разумеется, очищается поле.
Ответ написан
@Alastor
мой код работает

function submitValue(){
  var url = 'http://api.bandsintown.com/artists/{{param}}/events.json?app_id=sizoider';
  return url.replace('{{param}}', encodeURIComponent(document.getElementById("bandname").value));
}


попробуй обернуть в setTimeout(function() { }, 3000); код, видимо HTML не успевает рисоваться или на body событие onLoad повесить, после которого запускать код
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы