2011-02-23 18 views
2

タブがあり、その中にページがレンダリングされています。すべてが良いです。次に、ユーザーがボタンをクリックします。私はそれを行うことの出力をタブ内に表示したい。現在のところ、ユーザーはタブビューから完全に外れています。私のようなフォームに新しいボタンがありRailsのJQueryタブ:タブの内容を置換する

<div id="tabs"> 
    <ul> 

    <li><a href="urls">Manage URLs</a></li> 
    ...other tabs... 
    </ul> 

    <div id="urls-tab"> 
    <p> 
    </p> 
    </div> 
    ...other tabs... 
</div> 

<%= form_tag('urls/someaction_not_new', :method => :post, :id = "top-form") do %> 
    ...content... 
    <input type="button" id="New" value="New" onclick="someJavascript()"> 

<% end %> 

最後に、ジャバスクリプト:

$("#tabs").tabs(); 

function someJavascript() { 
    document.location = "urls/new" 
} 
をここで

タブ.html.erbファイル内のHTMLです

私はJavaScriptがうまく動作しないと知っています。私が知る必要があるのは、タブなしで新しいビューにリダイレクトするのではなく、タブに 'urls/new'出力を読み込むようにその関数をビルドする方法です。

ご協力いただければ幸いです。

答えて

0

使用は、この:それはhtmlの要求であるので、それは#tabs

+0

良いこと...単にこの動作を任意のサービスのデフォルトにする方法を知っていますか? – jaydel

+0

#tabは、 'urls/new'ページを読み込み、イベントを持つ onclick、この関数はonclickイベントで実行されます。 – Prakash

0

それはそれをやっている理由でページ「のURL /新しい」をロードします

function someJavascript() { 
    $('#tabs').load('urls/new') 
} 

、あり、そしてそれが更新されますタブが消えるページ。

フォームの送信時にAJAXリクエストをトリガーする必要があります。そうするならば、あなたのビューでjavascriptレスポンスをレンダリングし、htmlをタブ内で適切にレンダリングすることができます。

関連する問題