Ich möchte ein Formular für eine Reservierung für geliehene Elemente erstellen. Eine Reservierung besteht aus der Abholzeit, der Rückgabezeit und den Gegenständen, die der Reserver ausleihen möchte und deren Höhe. Ich möchte zum Beispiel drei Teller, drei Messer und drei Gabeln für den Rest der Woche reservieren.Rails: wie Wert von einem anderen Feld erhalten, wenn eine Remote-Funktion onchange in Textfeld
Im Formular möchte ich eine AJAX-Validierung durchführen, die überprüft, ob genügend Elemente verfügbar sind. Neben jedem Artikel habe ich ein Textfeld, mit dem der Reserver den Artikelbetrag eingibt. Nach der Eingabe möchte ich einen Onchange-Aufruf durchführen, der prüft, ob die Anzahl der Elemente für die angegebenen Daten verfügbar ist. Daher muss ich die Remote-Funktion übergeben, die in den onchange-folgenden Parametern aufgerufen wird: Artikel-ID, Artikelmenge (Wert des aktuellen Textfelds) und Abholzeit und Rückgabezeit, die beide in datetime_select-Feldern oben angegeben sind. Dies ist mein Code:
<% with = "'amount='+value+'&item=#{item.id.to_s}&pick_up_time=#{@reservation.pick_up_time.to_s}&return_time=#{@reservation.return_time.to_s}'" %>
<%= text_field_tag "reservation[#{prefix}reserved_items][#{item.id}]", get_amount_value(item, @reservation), :size => 3, :onchange => "#{remote_function(:url => { :controller => :items, :action => :availability }, :with => with, :update => availability_url) }" %>
Offensichtlich ist dies, da nicht arbeiten @ reservation.return_time und @ reservation.pick_up_time sind noch nicht festgelegt, da die Form noch nicht gesendet wird. Meine Frage ist: Wie bekomme ich diese Werte? Ich glaube, dass es über einen Javascript-Aufruf erfolgen sollte, aber ich habe es nicht geschafft, einen Javascript-Aufruf in die "mit" -Variable einzufügen oder zumindest nicht zum Laufen zu bringen. Hat jemand eine Idee, was ich tun soll?
angezeigt werden, wenn der Server der Validierung tut, warum nicht nur Übergeben Sie das Formular normal an den Server und ermitteln Sie den Fehler dort. Da der Server sowieso beteiligt ist ... – ErsatzRyan