2016-03-23 28 views
-1

SO!Girdi değeri tanımlanmamış

AJAX'ı öğrenmeye çalışıyorum. Bir giriş kutusunun değerini almaya çalışıyorum ve bir ekrana yerleştirin. Ancak jQuery'nin .val() işlevini çağırdığımda, undefined değerini döndürür. Bana bunun neden olduğunu söyleyen var mı? Tam anlamıyla HER ŞEY'yi denedim.

<div class="action-center text-center">
  
<div class="input-group input-group-lg">
   
<span class="input-group-addon" id="sizing-addon1"><i class="fa fa-user object"></i></span>
   
<input type="text" class="form-control" id="id1" placeholder="Username" aria-describedby="sizing-addon1">
  
</div>
  
<div class="input-group input-group-lg">
   
<span class="input-group-addon" id="sizing-addon2"><i class="fa fa-coffee object"></i></span>
  
<input type="text" class="form-control object" id="id2" placeholder="Username" aria-describedby="sizing-addon1">
 
</div>
  
<button class="btn btn-success" id="submit">Submit</button>
  
<button class="btn btn-danger remove-action">Remove</button>
</div> 

JS:

$(document).ready(function() 
{ 
    $(function() 
    { 
     var $orders = $('.list-group'); 
     var $nameFieldGroup = $('#id1'); 
     var $orderFieldGroup = $('#id2'); 
     $.ajax({type: 'GET', url: 'test.json', success: function(data) 
     { 
      $.each(data, function(i, item) 
      { 
       $orders.append('<li class="list-group-item"><p>Name: '+ item.name + '</p><p>Drink: ' + item.drink +'</p></li>'); 
      }); 
     }, error: function() 
     { 
      alert("AJAX error") 
     }}); 

     $('#submit').on('click', function() 
     { 
      var order = {name: $nameFieldGroup.val(), drink: $orderFieldGroup.val()}; 
      $.ajax({type: 'POST', url: 'test.json', data: order, success: function(newOrder) 
      { 
       $orders.append('<li class="list-group-item"><p>Name: '+ newOrder.name + '</p><p>Drink: ' + newOrder.drink +'</p></li>'); 
      }}); 
     }); 
    }); 
}); 
+1

Lütfen kodu eklemek için sorunuzunuzu düzenleyin? – Gareth

+1

"Bir giriş kutusunun değerini almaya çalışıyorum ve onu bir ekrana yerleştiriyorum" - Bu aslında Ajax'ı içermez. (Ama göremediğimiz kodda neyin yanlış olduğunu söyleyemeyiz). – Quentin

+1

'$ (document) .ready (function() {})' ve '$ (function() {})' tam olarak aynı şeyi yapın; sadece bir tane lazım. – Pointy

cevap

-1

$('#id1') mı ve $('#id2') dinamik kontroller yüklenmiş edilmiştir? Bu ürünler, dinamik kontroller ise, o zaman

$nameFieldGroup.val() with $('#id1').val() and $orderFieldGroup.val() with $('#id2').val() 

Ayrıca ben soruya altında listelenen diğer yorumlarınızı hemfikir değiştirin lütfen. Soru ve kod tanımları alakalı görünmemektedir.