Ruby on RailsでJRailsを使用しているので、jQueryを使いこなすことができます。私はLow Proを使って私のフォームのいくつかを遠隔から提出しようとしています。Ruby on Rails、Low Pro、JQuery(JRails経由)
私は現在、私に困惑している面白い問題にぶつかっています。私は私のapplication.js
ファイルに以下を追加していると私は(FirefoxでFirebugのを使用して)応答が返さ見ていたので、私はこれらが正しく機能していることを知っている:
$.ajaxSetup({
dataType: "script"
});
$(function() {
$('a.remote').attach(Remote.Link);
$('form.remote').attach(Remote.Form);
});
私がしなければならないのは、私のリンクにclass="remote"
を追加し、私のフォームとすべてがうまくいく。 dataType: "script"
の部分は、ページを正しく更新できるように、返された応答テキストにeval()
があることを確認します。
したがって、私は新しい貨物を作る簡単なリンクを持っています。私のnew.js.rjs
ファイルでは、私は次のようにあります
page.insert_html :bottom, '#shipments_table',
:partial => 'test', :locals => { :shipment => @shipment }
私はpage.visual_effect :fade, '#shipments_table'
でこれを交換する場合、それはあなたが期待通りにことを行います。私の_test.html.erb
ファイルがかなりシンプルであれば、それも機能します。問題は私が部分的に<form>
を追加しようとするときです。 <form>
タグの配置によって異なる問題が発生します。たとえば、この
<tr>
<form>
<td>Some Text</td>
</form>
</tr>
この
<form>
<tr>
<td>Some Text</td>
</tr>
</form>
は絶対に何も表示されないことを確認します。この
<form></form>
<tr>
<td>Some Text</td>
</tr>
は表示されますが、すべてのフォーマットが失われます。そして、これは
<tr>
<td>Some Text</td>
</tr>
<form></form>
(視覚的に言えば)正しく動作します。しかし、明らかに欠点は、フォームの入力をテーブルの列に入れることができないということです。これにより、基本的にプロセス全体が役に立たなくなります。私はたぶん<div>
のようなものの中にそれらを1行にまとめることでこれを回避することができますが、すべてを整列させることをお勧めします。
この難問を解決する方法のように任意のアイデアが大幅に
答えてくれてありがとうございましたが、ユーザーが複数のフォームを同時に追加できるということは、すべてのフォームがすべてのフォーム要素を折り返していることを意味します。 –
少しの検索の後、私は試していたようにテーブルの中にフォームタグを置くことが許されていないことを知りました。だから私は今、単に入力をテーブルの中に入れています。私は、JavaScriptが利用できない場合、プレーンなHTMLを使用するように劣化するので、JavaScriptを使用してデータをシリアル化/送信します。お返事をありがとうございます。 –