RESTful Redirect über onchange Javascript Event


Für unser “Projekt Systementwicklung” basteln wir grade ein Web Frontend für die weTravel iPad App. In diesem Zusammenhang wollten wir über eine Select-Box zwischen verschiedenen, hochgeladenen Reports wechseln.

Eigentlich keine große Sache:

<select onchange="javascript:window.location=this.value">
  <option value="url" >anderer Beitrag</option>
</select>

Aber: mit diesem Skript wird in REST nur der letzte Parameter (also zB beitrag/3/kommentar/8… ) geändert, also die 8 einfach durch die url ersetzt und somit ist es nicht möglich nur den Beitrag (in meinem Beispiel) zu ändern.

Die Lösung ist denkbar simpel: wir schreiben die komplette URL und konstruieren uns den kompletten Pfad neu. Über einen Slash vor this.value im kleinen Javascript können wir nun die komplette URL löschen:

onchange="javascript:window.location= '/' + this.value"

und die url im value Parameter entsprechend nachzukonstruieren, bei uns in Rails hätte es so aussehen:

<option value=<%= "beitrag/" + beitrag.id.to_s + "/kommentar" %>

Wie immer, wenn mans einmal gesehen hat ist es eine total simple Geschichte, der Trick der uns gefehlt hatte war der Slash im onchange um die komplette URL zu löschen :-)

  1. Bisher keine Kommentare.
(wird nicht veröffentlicht)