Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.06.2015, 13:41
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Завести ajax поле под валидацию
Доброго времени суток.

Делаю запрос о получении доступных способов оплаты.
Для некоторых приходят доп.поля, к примеру QIWI - номер телефона.
Не знаю как такое поле ввести под валидацию.

Для начало как и когда можно присвоить и можно ли вообще значение такому полю?

HTML:
<div id="payments">
    <div class="tl mb20" payments-directive ng-repeat="payment in payments track by $index">
        <span class="a2dCheckBox alignMiddle anime mr30" id="a2dCheckBox{{ payments[$index].id }}" data-discount="{{ payments[$index].discount }}" ng-click="setPayment(payment)"></span>
        <img width="32" alt="{{ payments[$index].name }}" src="{{ payments[$index].icon }}">
        <label class="cGrey ml10">{{ payments[$index].name }}</label>
        <span class="red ml10" ng-if="payments[$index].discount>0">{{ payments[$index].extra }}</span>
        <div
            ng-if="payments[$index].addFields.length>0"
            ng-bind-html="getHtmlContent(payments[$index].addFields)"
            id="payDesc{{ payments[$index].id }}" class="payDesc" style="display:none;"
        >addFields</div>
    </div>
</div>

JS:
$scope.getPayments = function(){
    if( $scope.calc.$valid ){

        $http({
            url: url,
            method: "GET",
            data: {},
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }

        }).success(function(data){

            $scope.payments = data.payments;

            $scope.payment.qiwi = '9876543210';
            $scope.payment.wmid = '1234567890';

            $timeout(function(){
                $scope.$apply(function(){
                    $scope.payment.qiwi = '9876543210';
                    $scope.payment.wmid = '1234567890';
            });
        });

    });
                }
};


addFields с сервера для QIWI:
<b>+7&nbsp;&nbsp;</b><input 
	type="text" name="phone_for_qiwi" class="field_text" id="phone_for_qiwi" value="" 
	ng-show="showQIWI" show-valid 
	ng-model="payment.qiwi" 
	ng-click="alertQIWI()" 
>
<br/>
QIWI - Электронная платёжная система. Оплата в терминалах и через QIWI Кошелек.



Вообще ни чего не работает, ни ng-click, ни значение не присваивается, ни валидация...

Последний раз редактировалось borodatych, 22.06.2015 в 13:41. Причина: орф
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2015, 11:08
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

UPD1:
console.log($scope.payment.qiwi) показывает значение, но ng-model="payment.qiwi" не подхватывает его.

Последний раз редактировалось borodatych, 23.06.2015 в 14:52. Причина: console.log(payment.qiwi) to console.log($scope.payment.qiwi)
Ответить с цитированием
  #3 (permalink)  
Старый 23.06.2015, 14:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от borodatych
console.log(payment.qiwi) показывает значение, но ng-model="payment.qiwi" не подхватывает его.
Потому как
ng-model="payment.qiwi"

Это
$scope.payment.qiwi
Ответить с цитированием
  #4 (permalink)  
Старый 23.06.2015, 14:20
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Сообщение от ksa Посмотреть сообщение
Потому как
ng-model="payment.qiwi"

Это
$scope.payment.qiwi
И?
Ответить с цитированием
  #5 (permalink)  
Старый 23.06.2015, 14:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от borodatych
И?
Вроде как ответ на твой вопрос я дал выше...
Ответить с цитированием
  #6 (permalink)  
Старый 23.06.2015, 14:54
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Прошу прощения, в голове одно, на бумаге друге, естественно так:
console.log($scope.payment.qiwi) показывает значение, но ng-model="payment.qiwi" не подхватывает его.
Ответить с цитированием
  #7 (permalink)  
Старый 23.06.2015, 15:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

borodatych, тут бы тебе сделать полный тестовый пример... Может ты просто не попадаешь в нужную область видимости для
ng-model="payment.qiwi"
Ответить с цитированием
  #8 (permalink)  
Старый 23.06.2015, 15:11
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Данные получаю со сервера, вроде писал.
Вот часть кода, вдруг поможет прояснить.

Последний раз редактировалось borodatych, 24.06.2015 в 11:22. Причина: "часть года" => часть кода
Ответить с цитированием
  #9 (permalink)  
Старый 23.06.2015, 15:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от borodatych
Вот часть года, вдруг поможет прояснить.
Не то это все... Не то...

Всегда можно сделать простенький тестовый пример... Даже с простенькой "эмуляцией" ответа сервера...
В портянках кода нет желания копаться.
Ответить с цитированием
  #10 (permalink)  
Старый 23.06.2015, 15:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от borodatych
addFields с сервера для QIWI:
<b>+7&nbsp;&nbsp;</b><input 
	type="text" name="phone_for_qiwi" class="field_text" id="phone_for_qiwi" value="" 
	ng-show="showQIWI" show-valid 
	ng-model="payment.qiwi" 
	ng-click="alertQIWI()" 
>
<br/>
QIWI - Электронная платёжная система. Оплата в терминалах и через QIWI Кошелек.
Ты это прям куском когда-то вставляешь на страницу?

Сделай это сразу. А показывай по мере надобности... Т.о. Ангулар будет точно знать про эти элементы.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поле поиска под мобильники borus Библиотеки/Тулкиты/Фреймворки 0 16.05.2015 11:04
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Ошибка в не большом скрипте modestes jQuery 2 08.03.2013 04:28
Ajax под ie7 KruGoZor900 jQuery 10 25.12.2012 00:14
Нужен сайт под ключ, работающий с использованием AJAX (jQuery). pashin76 Работа 1 03.06.2012 13:35