2016-12-12 21 views
0

ありがとうございます。実際には、私は2つの非表示のテキストボックスフィールドを持つフォームを持っています<input type="hidden" name="item_name" class="course_name" value="<?php echo $cartData['exam'];?>"><input type="hidden" name="amount" class="amount" value="<?php echo $priceTotal;?>">は、値は、 。ですから、id = "placeOrder"の画像ボタンをクリックすると、Javeryを使用してカンマ区切りの "item_name"テキストボックスフィールドと "amount"テキストボックスフィールドの動的値を得ることができます。 例:金額 - > 200,300、コース名 - > PMP、CAPM。私はjqueryの各ループ内の値を取るいくつかのコードを書いたが、私はこのようなjson形式のようなjson形式としてAJAXを渡さなければならないdata : {cname:course_name,priceBox:textboxVal}カンマ区切りの値を持つ値はcourse_name & textboxValを通過する必要があります。今、あなたはあなたのクリックハンドラでこれを置くことができjqueryで2つの動的テキストボックスの値を取得する方法

var item_name = $('input[name=\'item_name\']').val(); 
var amount = $('input[name=\'amount\']').val(); 

var result = item_name + ',' + amount; 

マイページでは、値を取得するjQueryと属性セレクタを使用することができます

<html> 
<head> 
    <title></title> 
    <script> 
    $(document).ready(function(){ 
     var myArray = []; 
     $('.amount').each(function(){   

     var textboxVal = $(this).val(); 
     //alert(textboxVal);   

     }); 

     var myCourse = []; 
     //dynamic course name 
     $('.course_name').each(function(){ 

      var course_name = $(this).val(); 
      //alert(course_name); 

      }); 

      if(textboxVal!="") 
      { 

       $.ajax({ 

        type : "POST",  
        url : "/invl_exams/cart",     
        cache : "false", 
        data :  {cname:course_name,priceBox:textboxVal},   
        success : function(result){  

        console.log(result);          

        } 


       }); 


      } 


    }); 
    </script> 
</head> 
</html> 
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 

     <td>    
      <input type="hidden" name="cmd" value="_xclick"> 
      <input type="hidden" name="business" value="[email protected]">  
      <input type="hidden" name="upload" value="1"> 
      <?php    

       if(isset($cartDatas)) 
       { 
        $itm_no = 1; 
        $amt = 0;        
        foreach($cartDatas as $key=> $cartData) 
        { 

        $prices = $cartData['price'];  
        $prd_price = ltrim($prices,'$'); 
        $priceTotal = number_format((float)$prd_price, 2, '.', ''); 


      ?> 

       <input type="hidden" name="item_number" value="<?php echo $itm_no++;?>">   
       <input type="hidden" name="item_name" class="course_name" value="<?php echo $cartData['exam'];?>">  
       <input type="hidden" name="amount" class="amount" value="<?php echo $priceTotal;?>"> 
       <input type="hidden" name="shipping" value="shipping Address"> 
       <input type="hidden" name="quantity" value="<?php echo $cartData['orders'];?>">  

      <?php     

        $price = ltrim($prices,'$'); 
        $orders = $cartData['orders'];    
        $amt_Total = $price * $orders; 
        $amt += $amt_Total; 
        $amt_Total = number_format((float)$amt, 2, '.', ''); 

        ///$amt_Total = round($price * floatval($orders),2); 


       }    

      ?> 

       <input type="hidden" name="currency_code" value="USD">    
       <input type="hidden" name="amount" value="<?php echo $amt_Total;?>">      
      <?php 

       } 

      ?> 
      <input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but03.gif" name="submit" id="placeOrder">    
     </td> 
     </form> 
+0

ゴーへhttps://plnkr.co/edit/7maJAUSdakDuvVqXhnzi?p=preview

おかげを通して - http://stackoverflow.com/questions/34366218/how-to-get-value-from-動的に作成-hidden- field-in-jquery – Shan

答えて

0

次のような何かを行うことができます:あなたの入力はフォーム要素で囲まれている場合

$(function(){ 
    var amount = []; 
    var course = []; 
    $('.amount').each(function(){ 
    amount.push($(this).val()); 
    }); 
    $('.course_name').each(function(){ 
    course.push($(this).val()); 
    }); 
    console.log(amount.join(',')); //comma seperated value 
    console.log(course.join(',')) //comma seperated value 
}); 

DEMO

+0

これは機能しています。どうもありがとうございました –

0

は、あなたがこのJSONオブジェクトにフォームの入力値をシリアル化し、その後にそれを渡す使用することができますajax呼び出し。

var postData = $("#enclosing_form_elm").serializeObject(); 

とスクリプト内のjQuery

$.fn.serializeObject = function() 
{ 
var o = {}; 
var a = this.serializeArray(); 
$.each(a, function() { 
    if (o[this.name] !== undefined) { 
     if (!o[this.name].push) { 
      o[this.name] = [o[this.name]]; 
     } 
     o[this.name].push(this.value || ''); 
    } else { 
     o[this.name] = this.value || ''; 
    } 
}); 
return o; 

}後のオブジェクトの機能をシリアル化するための参照を追加します。

ただ、デモConvert form data to JavaScript object with jQuery

関連する問題