2016-06-18 6 views
0

今、私はフォームと2つのラジオボタンを持っています。 ラジオボタンが選択されているため、フォーム操作を変更する必要があります。ここフォームは、角度jsのラジオボタンの選択に基づいて変化します

コード

<form action={{action}} name="payform" method="post"> 
<div class="form-group"> 
<div class="radio radio-text"> 
<label> 
<input type="radio" ng-model="cash" ng-click="paymethod('cash')" name="payment" value="cash">Cash 
</label> 
</div> 
</div> 
</div> 
<div class="col-sm-12 col-md-4 col-lg-4"> 
<div class="form-group"> 
<div class="radio radio-text"> 
<label> 
<input type="radio" ng-model="online" ng-click="paymethod('online')" name="payment" value="online">Online 
</label> 
</div> 
</div> 


<button class="btn btn-success" name="submit" type="submit">Submit</button> 
</form> 

そして、ここでは、コントローラのコード

$scope.paymethod = function(ptype){ 
alert("hi"); 
if(ptype=="cash"){ 
$scope.action = "food.php"; 
} 
else if(ptype=="online"){ 
$scope.action = "online.php"; 
} 
} 

である私は、関数が呼び出されるかされているかどうかを確認する機能でアラートを使用しました。そして、警告が働いているということは、関数が呼び出されていることを意味します。

+0

ptypeの取得を確認してください。 – Hemakumar

+0

はい私はptypeを取得しています。コンソールの値を表示して確認しました –

+0

ネットワークタブからそれぞれの操作にナビゲートして確認できます。コンソールにエラーが表示されていますか?このフィドルのコンソールとネットワークをご確認ください https://jsfiddle.net/vasi_32/n0pydc8k/ – brk

答えて

0

ないまさにあなたは尋ねたが、それはあなたの問題を解決:

  • 前に付加FORMDATAで-モデルをngのフォームフィールド。
  • $のhttpリクエスト

非常に基本的な例を配置するために機能の追加フォームにNG-提出

  • 用途:

    HTML:

    <form name="payform" ng-submit="submitForm()"> 
        <input ng-model="formData.value1" /> 
        <input ng-model="formData.value2" /> 
        <button type="submit"></submit> 
    </form> 
    

    JS:

    $scope.submitForm = function submitForm() { 
        $http.post($scope.ptype + '.php', $scope.formData).then(
         function success(response) { 
          // do something 
         }, 
         function error(response) { 
          // not good 
         } 
        }; 
    

    フォームのng-model属性の前にformDataを付けるので、すべてのフィールドが1つのオブジェクトに含まれています。これは、POSTリクエストを行うときに簡単に使用できます。

  • 関連する問題