2012-02-22 4 views
0

レールのアプリでクリックに2回表示それはあなたの友人やあなたの電子メールに、この車の詳細を送信するためのリンクです持っています。 "Send friend"をクリックすると、モーダルウィンドウが表示されます。問題は、モーダルが2回ロードされていることです。リンクをクリックすると2つのウィンドウが表示されますが、フォームを入力してこれをメールに送信すると、ページが車のリストに更新され、すべてしかし、私は郵便にオファーを送ろうとしないと、私は窓を閉じるだけで、そこにもう1つの窓が閉じているのを見ることができます、それはなぜですか?助けてください。モーダルウィンドウ私は<a href="http://autozeep.com/cars" rel="nofollow">http://autozeep.com/cars</a></p> <p>でそれぞれの車を、このウェブアプリを持っている

このリンクがモーダルウィンドウを開くためにどのように見えるかです:私は<%= javascript_include_tag :all %>

<%= javascript_include_tag :defaults %>を変更

<%= link_to image_tag('sendtofriend.png'), send_to_friend_car_path(car), :remote => true, :class=> 'send_to_friend' %> 

// Place your application-specific JavaScript functions and classes here 
// This file is automatically included by javascript_include_tag :defaults 



$(document).ready(function() { 
    $('.find_on_map').click(function(e) { 
    var url = $(this).attr('href'); 
    var dialog_form = $('<div id="dialog-form">Loading form...</div>').dialog({ 
     autoOpen: false, 
     width: 600, 
     modal: true, 
     open: function() { 
     return $(this).load(url + ' #content'); 
     } 
    }); 
    dialog_form.dialog('open'); 
    e.preventDefault(); 
    }); 
}); 

$(document).ready(function() { 
    $('.setmain').click(function(e) { 
    var url = $(this).attr('href'); 
    var dialog_form = $('<div id="dialog-form">Loading form...</div>').dialog({ 
     autoOpen: false, 
     width: 600, 
     modal: true, 
     open: function() { 
     return $(this).load(url + ' #content'); 
     } 
    }); 
    dialog_form.dialog('open'); 
    e.preventDefault(); 
    }); 
}); 

$(document).ready(function() { 
    $('.send_to_friend').click(function(e) { 
    var url = $(this).attr('href'); 
    var dialog_form = $('<div id="dialog-form">Loading form...</div>').dialog({ 
     autoOpen: false, 
     width: 400, 
     modal: true, 
     open: function() { 
     return $(this).load(url + ' #content'); 
     } 
    }); 
    dialog_form.dialog('open'); 
    e.preventDefault(); 
    }); 
}); 

$(document).ready(function() { 
    $('.request_more_details').click(function(e) { 
    var url = $(this).attr('href'); 
    var dialog_form = $('<div id="dialog-form">Loading form...</div>').dialog({ 
     autoOpen: false, 
     width: 400, 
     modal: true, 
     open: function() { 
     return $(this).load(url + ' #content'); 
     } 
    }); 
    dialog_form.dialog('open'); 
    e.preventDefault(); 
    }); 
}); 

$(document).ready(function() { 
    $('.make_offer').click(function(e) { 
    var url = $(this).attr('href'); 
    var dialog_form = $('<div id="dialog-form">Loading form...</div>').dialog({ 
     autoOpen: false, 
     width: 400, 
     modal: true, 
     open: function() { 
     return $(this).load(url + ' #content'); 
     } 
    }); 
    dialog_form.dialog('open'); 
    e.preventDefault(); 
    }); 
}); 

固定

をapplication.js

答えて

1

おそらく、同じクリックに2つのjavascriptが応答しています。

あなたのページのソースを表示する場合は、Application.jsが二度含まれている

<script src="/javascripts/application.js?1324469597" type="text/javascript"></script> 
<script src="/javascripts/rails.js?1312451872" type="text/javascript"></script> 
<script src="/javascripts/application.js?1324469597" type="text/javascript"></script> 

見ることができます。これは問題の原因となっている正確なjsファイルではないかもしれませんが、あなたのサイトからjavascriptを再生して削除すると、重複した応答がなくても同じ機能を利用できます。

+0

それは簡単でした。私の目を開いてくれてありがとう:) – rmagnum2002

1

チェックアウト
は、私たちはあなたが詳細に知っているようにいくつかのソースコードを持ってみましょう

私が掲載されている 3 GET REQUESTSを「友人を送信」をクリックしてください

...放火犯...

enter image description here

+0

もしあなたが必要とするソースコードの部分が分かったら、 – rmagnum2002

+0

メインポストをapplication.jsのコードで更新しました。これが正しいコードであることを願っています。 – rmagnum2002

+0

これを削除しようとしましたか? Wazzzy