Передача значения из нескольких текстовых полей в третье (генерирование имени пользователя) HTML, JS - PullRequest
0 голосов
/ 07 мая 2018

Так что попытка передать значения из двух текстовых полей в третье, и я знаю, что это должно быть правильно, но это не сработает. Знаете ли вы, где проблема? Спасибо

<div class="form-group">
  <label for="ime">Ime:</label>
  <input type="text" class="form-control" id="ime" name="ime">
</div>
<div class="form-group">
  <label for="prezime">Prezime:</label>
  <input type="text" class="form-control" id="prezime" name="prezime">
</div>


<div class="form-group">
  <label for="username">Username:</label>
  <input type="text" class="form-control" id="username" name="username" onclick="kreiraj_username()">
</div>

<script>
  function kreiraj_username() {
    var ime = document.getElementById("ime").value.toLowerCase();
    var prezime = document.getElementById("prezime").value.toLowerCase();
    //   var id_clan = document.getElementById("id_clan").value;
    var username = document.getElementById("username").value.toLowerCase();
    username = ime + prezime;

  }
</script>

1 Ответ

0 голосов
/ 07 мая 2018

Вам необходимо присвоить значение элемента username, потому что примитивные значения не передаются по ссылке в Javascript. Если вы назначаете переменную примитиву, взятому из объекта, чтобы обновить объект после изменения переменной, вам необходимо явно назначить свойство объекта снова.

Но в этом случае, поскольку исходное значение username не используется, просто присвойте полю value напрямую:

function kreiraj_username() {
  var ime = document.getElementById("ime").value.toLowerCase();
  var prezime = document.getElementById("prezime").value.toLowerCase();
  document.getElementById("username").value = ime + prezime;
}
<div class="form-group">
  <label for="ime">Ime:</label>
  <input type="text" class="form-control" id="ime" name="ime">
</div>
<div class="form-group">
  <label for="prezime">Prezime:</label>
  <input type="text" class="form-control" id="prezime" name="prezime">
</div>


<div class="form-group">
  <label for="username">Username:</label>
  <input type="text" class="form-control" id="username" name="username" onclick="kreiraj_username()">
</div>
...