2017-03-13 11 views
0

Ich erstelle Formular für jeden Artikel in Warenkorb/Bestellung dh mehrere Formulare in Schleife und geben ihnen eindeutige IDs ('ID' => 'Warenkorb _'. $ Linie) (cart_1, cart_2). und erstellt für jedes Formular eine Aktualisierungsverknüpfung in Schleife. code unterAJAX JQuery Formular nicht senden Daten bei Änderung

echo form_open($controller_name."/edit_item/$line", array('class'=>'form-horizontal line-item', 'id'=>'cart_'.$line)); 
echo form_input(array('name'=>'quantity','value'=>$item['quantity'],'size'=>'2', 'id'=>'quantity','class'=>'form-control cartline', 'data-form' => $line)); 
echo form_input(array('name'=>'discount','value'=>$item['discount'],'size'=>'3', 'id'=>'discount', 'class'=>'form-control cartline', 'data-form' => $line));?> 
<a href="javascript:document.getElementById('<?php echo 'cart_'.$line ?>').submit();" id="anchor" title=<?php echo $this->lang->line('sales_update')?> > 

Ich möchte mein Formular über Ajax on onChange der Menge, Rabattfeld einreichen. im Versuch, sondern bilden das Senden nicht onChange

<script> 
$(document).ready(function(){ 
    $(".line-item").submit(function(event) { 
    event.preventDefault(); 
    var line_form = $(this), 
     url = line_form.attr('action'); 
     $.post(url, 
     { 
      quantity:$('quantity').val(), 
      discount: $('discount').val() 
     }, 
     function(data,status){ 
      alert("Data: " + data + "\nStatus: " + status); 
     }); 
    }); 
}); 
</script> 
+0

'Ich möchte, dass mein Formular am OnChange-Ereignis des Mengenfelds gesendet wird. Wo ist dieses Ereignis in Ihrem Code? https://api.jquery.com/change/ – Vickel

+0

Wie kann ich in diesem Code implementieren? –

Antwort

0

Sie benötigen

<script> 
$(document).ready(function(){ 
    //Here the element you want to trigger in change to send the form (quantity, disccount,...) 
    $(".quantity").change(function(event) { 
    event.preventDefault(); 
    var line_form = $(this), 
     url = line_form.attr('action'); 
     $.post(url, 
     { 
      quantity:$('quantity').val(), 
      discount: $('discount').val() 
     }, 
     function(data,status){ 
      alert("Data: " + data + "\nStatus: " + status); 
     }); 
    }); 
}); 
</script> 

eigentlich das Ereignis Änderung zu verwenden, wenn Sie einige Elemente, die die Form auslösen könnte reichen Sie dies tun könnte:

<script> 

    function submitForm(){ 
     //Here send by AJAX the form and handle all actions 
    } 

    $('.elementTriggerSubmit').change(submitForm); 
    $('#otherElement').change(submitForm); 
</script> 
Verwandte Themen