mam takie pytanie, potrzebuję zrobić formularz który będzie wykorzystywał ajax ale nie jest to typowy formularz z wykorzystaniem :remote =>“true”. Chodzi o to, że jest to koszyk w którym mam pola tekstowe do wpisywania ilości produktów i właśnie to chcę, żeby się zmieniało za pomocą ajaxa. Sam zakup idzie już normalnie z przeładowaniem strony bo dodawane jest zamówienie ale przed tym chcę mieć możliwość ustalania ilości produktów.
Pytanie jest jak to zrobić najlepiej. Dodam, że mam 2 modele, cart i lineitems przeechowujący produkty dla danego koszyka i to właśnie w nim chcę zmieniać wartości ajaxem. Ajax ma być uruchamiany po zmianie wartości pola tekstowego.
Znalazłem coś takiego
tylko nie wiem za bardzo jak to zmienić do moich potrzeb :).
Podaj przykładowy kod, kod jest czytelniejszy niż proza. Raczej wątpię, żeby napisał ktoś tobie rozwiązanie od zera, spróbuj coś napisać sam i jeśli nie będzie działać to wtedy będzie można to poprawić.
<% end %>
<%= button_to “Kupuję”, new_order_path, :method => :get, :class => ‘btn btn-success’ %>[/code]
tam gdzie jest onchange wywołuję sobie testową funkcje ale właśnie tam ma być wywołanie ajaxowe które zrobi mi aktualizacje ilości produktu w koszyku.
Sam obiekt cart się nie zmienia jedynie chce przy line_item mieć możliwość ustawienia ilości i ewentualnie usunięcie produktu z koszyka
Mam nadzieje, że nie wyląduje w zakładzie patologii kodu :D.
[quote=toomus]Nie wiem czy o to Ci chodzi, ale jeśli chcesz wysłać zapytanie ajaxowe np. po opuszczeniu pola w formie możesz użyć jQuery i funkcji blur().
$("#id_pola").blur(function(){
$.ajax({
type: 'POST',
url: '/sciezka_do_akcji',
data: {'val1': 1, 'val2': 2}, //json
dataType: 'script'
complete: function(data){
// zaktualizuj dane na stronie
}
});
});
[/quote]
No to masz przecież podpowiedź od toomus’a, użyj JavaScritpt’u i po zabawie.
I jak masz sam widok co skąd możesz wiedzieć co się dzieje w Controllerze…