@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 повесить, после которого запускать код
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы