Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Взятие значения поля input (https://javascript.ru/forum/events/71938-vzyatie-znacheniya-polya-input.html)

Adigezalov 22.12.2017 21:27

Взятие значения поля input
 
Всем привет.
Подскажите, пожалуйста.

У меня есть 2 формы на одной странице, которые имеют следующий вид:

Форма 1:
<div class="callback-form .....">
    ...............
    ...............
    ...............
    <div ......>
        <div class="input-group">
           <input type="text" class="form-control callback-name" placeholder="Имя...">
        </div>
        <div class="input-group">
           <input type="text" class="form-control callback-phone" placeholder="Телефон...">
        </div>
    </div>
    <div ......>
       <button type="button" class="btn callback-button" onclick="callBack()">Отправить</button>
    </div>
</div>


Форма 2:
<div class="callback-form">
   <div class="input-group">
      <input type="text" class="form-control callback-name pull-left" placeholder="Имя...">
      <input type="text" class="form-control callback-phone pull-left" placeholder="Телефон...">
   </div>
   <button type="button" class="btn callback-button" onclick="callBack()">Отправить</button>
</div>


JS:
function callBack() {
    var callbackName = $(this).parents('.callback-form').find('.callback-name');
    var callbackPhone = $(this).parents('.callback-form').find('.callback-phone');
 
    var name = $.trim(callbackName.val());
    var phone = $.trim(callbackPhone.val());
}


Собственно вопрос: почему при нажатии на кнопки переменные name и phone все равно остаются пустые?? Что я делаю не так?

рони 22.12.2017 21:40

Adigezalov,
Цитата:

Сообщение от Adigezalov
Что я делаю не так?

this!!!

Adigezalov 22.12.2017 21:45

Цитата:

Сообщение от рони (Сообщение 473564)
Adigezalov,

this!!!

А можно, пожалуйста, поподробней.

рони 22.12.2017 21:47

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

рони 22.12.2017 21:53

Adigezalov,
или так
onclick="callBack(event)"

и так
function callBack(event) {
    var callbackName = $(event.target).parents('.callback-form').find('.callback-name');
    var callbackPhone = $(event.target).parents('.callback-form').find('.callback-phone');

    var name = $.trim(callbackName.val());
    var phone = $.trim(callbackPhone.val());


}


или так
onclick="callBack()"
и так
$(function() {
$(".callback-button").click(callBack)
});


Часовой пояс GMT +3, время: 13:02.