2016-10-11 6 views
1

Я работаю над создателем Ionic с AngularJS v1, чтобы построить калькулятор котировок. Все поля имеют значение по умолчанию «0», если пользователь выбирает переключатель, диапазон и т. Д. Значение изменяется и отображается с правильным значением, но когда я пытаюсь отправить связанное значение, я получаю значение по умолчанию « 0" Вот тест URL проекта: https://creator.ionic.io/share/html/2d9b0126751e#/menu/disenowebIonic AngularJS значение объема данных для HTML-сообщения

код я использую:

function ($scope, $http, $stateParams) { 

    $scope.seos = [ 
     { 'value' : 0, 
     'label' : "Número palabras" 
     }, 
     { 'value' : 200, 
     'label' : "5 palabras clave" 
     }, 
     { 'value' : 400, 
     'label' : "10 palabras clave" 
     }, 
     { 'value' : 800, 
     'label' : "20 palabras clave" 
     } 
     ]; 

    $scope.accesos = [ 
     { 

     'value' : 0, 
     'label' : "Opciones" 


     }, 
     { 'value' : 200, 
     'label' : "Con panel de usuario" 

     }, 
     { 'value' : 50, 
     'label' : "Sin panel de usuario" 

     } 
     ]; 

    $scope.data = { 
     'dominio' : 0, 
     'alojamiento' : 0, 
     'logotipo' : 0, 
     'pagespeed' : 0, 
     'secciones' : 3, 
     'galerias' : 0, 
     'formularios' : 0, 
     'blogintegrado' : 0, 
     'catent' : 0, 
     'categoriasblog' : 0, 
     'entradasblog' : 0, 
     'forointegrado' : 0, 
     'seccionestotal' : 0, 
     'entradasforo' : 0, 
     'categoriasforo' : 0, 
     'mapa' : 0, 
     'soporte' : 0, 
     'login' : 0, 
     'descargadocumentos' : 0, 
     'hstienda' : 0, 
     'tiendaint' : 0, 
     'cattien' : 0, 
     'prodtien' : 0, 
     'seo' : $scope.seos[0].value, 
     'acceso' : $scope.accesos[0].value, 
     'total' : 0 
    }; 
    $scope.showdiana = function(){ 
      $scope.show=true; 
      }; 

    $scope.showemail = function(){ 
      $scope.show=true; 
      }; 

    $scope.reset = function() { 
      $scope.data = { 
       'dominio' : 0, 
     'alojamiento' : 0, 
     'logotipo' : 0, 
     'pagespeed' : 0, 
     'secciones' : 3, 
     'galerias' : 0, 
     'formularios' : 0, 
     'blogintegrado' : 0, 
     'catent' : 0, 
     'categoriasblog' : 0, 
     'entradasblog' : 0, 
     'forointegrado' : 0, 
     'seccionestotal' : 0, 
     'entradasforo' : 0, 
     'categoriasforo' : 0, 
     'mapa' : 0, 
     'soporte' : 0, 
     'login' : 0, 
     'descargadocumentos' : 0, 
     'hstienda' : 0, 
     'tiendaint' : 0, 
     'cattien' : 0, 
     'prodtien' : 0, 
     'seo' : $scope.seos[0].value, 
     'acceso' : $scope.accesos[0].value, 
     'total' : 0 
      }; 

     }; 


    $scope.resetblog = function() { 

      if($scope.data.entradasblog > 0) { 
        $scope.data.entradasblog = '0';} 

      else if ($scope.data.categoriasblog > 0) { 
        $scope.data.categoriasblog = '0';} 
     }; 

    $scope.resetforo = function() { 

      if($scope.data.entradasforo > 0) { 
       $scope.data.entradasforo = '0'; } 

      else if($scope.data.categoriasforo > 0){ 
        $scope.data.categoriasforo = '0';} 

     }; 



     var mailgunUrl = "mydomain.com"; 
     var mailgunApiKey = window.btoa("api:key-mykey"); 
     var recipient = "myemail"; 
     var subject = "Quote"; 
     var message = "Test value: " + $scope.data.dominio; 

     $scope.send = function() 
     { 
      $http(

       { 
        "method": "POST", 
        "url": "https://api.mailgun.net/v3/" + mailgunUrl + "/messages", 
        "headers": { 
         "Content-Type": "application/x-www-form-urlencoded", 
         "Authorization": "Basic " + mailgunApiKey 
        }, 
        data: "from=" + "[email protected]" + "&to=" + recipient + "&subject=" + subject + "&html=" + message 
       } 
      ).then(function(success) { 
       console.log("SUCCESS " + JSON.stringify(success)); 
      }, function(error) { 
       console.log("ERROR " + JSON.stringify(error)); 
      }); 
     }; 

    } 

Я являюсь новичком AngularJS/ионные, любая помощь будет apreciated. Благодаря

+0

Вы можете оставить свой html-код? – sioesi

+0

Конечно, проверьте общий URL-адрес –

ответ

0

Я не буду писать весь код, но эта работа

<label class="toggle toggle-assertive"> 
    <input ng-model="data.dominio" type="checkbox" ng-true-value="10" ng-false-value="0"> 
    <div class="track"> 
    <div class="handle"></div> 
    </div> 
</label> 

Контроллер:

$scope.send = function(){ 
    var dominio = Number($scope.data.dominio); 
    console.log(dominio); 
} 

Codepen

В случае, если вы попросили меня

<select name="seos" id="seos" ng-model="data.seos"> 
    <option ng-repeat="option in seos" value="{{option.value}}">{{option.label}}</option> 
</select> 
<button ng-click="send()">hola</button 

Контроллер:

$scope.seos = [ 
    { 'value' : 0, 
    'label' : "Número palabras" 
    }, 
    { 'value' : 200, 
    'label' : "5 palabras clave" 
    }, 
    { 'value' : 400, 
    'label' : "10 palabras clave" 
    }, 
    { 'value' : 800, 
    'label' : "20 palabras clave" 
    } 
    ]; 
$scope.send = function(){ 
    console.log($scope.data.seos) 
} 
+0

Спасибо за ответ, это scope.data.domino, если я изменю его на scope.dominio, он ничего не покажет, потому что scope.dominio не существует. –

+0

Если я устанавливаю var message = "Dominio:" + Number ($ scope.data.dominio); i get ReferenceError: номер не определен –

+0

MMM .. позвольте мне установить код и обновить! – sioesi