Javascript 模式窗口在rails应用程序中单击时显示两次

Javascript 模式窗口在rails应用程序中单击时显示两次,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我在网站上有这个web应用程序 每辆车都有一个链接,可以将这辆车的详细信息发送到您朋友或您朋友的电子邮件中。点击“发送朋友”,你会看到模式窗口出现。问题是,莫代尔加载了2次,当我点击链接时,我有两个窗口,一个在另一个之上,我仍然可以填写表单并将其发送到邮件,在此之后,页面刷新到汽车列表,一切正常,但如果我不想将报价发送到邮件,我只需关闭窗口,您可以看到还有一个窗口要关闭,为什么呢?请帮忙 这是链接打开模式窗口的方式: <%= link_to image_tag('sendtofriend.

我在网站上有这个web应用程序

每辆车都有一个链接,可以将这辆车的详细信息发送到您朋友或您朋友的电子邮件中。点击“发送朋友”,你会看到模式窗口出现。问题是,莫代尔加载了2次,当我点击链接时,我有两个窗口,一个在另一个之上,我仍然可以填写表单并将其发送到邮件,在此之后,页面刷新到汽车列表,一切正常,但如果我不想将报价发送到邮件,我只需关闭窗口,您可以看到还有一个窗口要关闭,为什么呢?请帮忙

这是链接打开模式窗口的方式:

<%= link_to image_tag('sendtofriend.png'), send_to_friend_car_path(car),  :remote => true, :class=> 'send_to_friend' %>
true,:class=>'send\u to\u friend'>
和application.js

// 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();
  });
});
//将特定于应用程序的JavaScript函数和类放在此处
//此文件由javascript_include_标记自动包含:默认值
$(文档).ready(函数(){
$('.find_on_map')。单击(函数(e){
var url=$(this.attr('href');
var dialog_form=$('Loading form…')。dialog({
自动打开:错误,
宽度:600,
莫代尔:是的,
打开:函数(){
返回$(this).load(url+'#content');
}
});
对话形式对话(“打开”);
e、 预防默认值();
});
});
$(文档).ready(函数(){
$('.setmain')。单击(函数(e){
var url=$(this.attr('href');
var dialog_form=$('Loading form…')。dialog({
自动打开:错误,
宽度:600,
莫代尔:是的,
打开:函数(){
返回$(this).load(url+'#content');
}
});
对话形式对话(“打开”);
e、 预防默认值();
});
});
$(文档).ready(函数(){
$('.send_to_friend')。单击(函数(e){
var url=$(this.attr('href');
var dialog_form=$('Loading form…')。dialog({
自动打开:错误,
宽度:400,
莫代尔:是的,
打开:函数(){
返回$(this).load(url+'#content');
}
});
对话形式对话(“打开”);
e、 预防默认值();
});
});
$(文档).ready(函数(){
$(“.请求更多详细信息”)。单击(函数(e){
var url=$(this.attr('href');
var dialog_form=$('Loading form…')。dialog({
自动打开:错误,
宽度:400,
莫代尔:是的,
打开:函数(){
返回$(this).load(url+'#content');
}
});
对话形式对话(“打开”);
e、 预防默认值();
});
});
$(文档).ready(函数(){
$('.make_offer')。单击(函数(e){
var url=$(this.attr('href');
var dialog_form=$('Loading form…')。dialog({
自动打开:错误,
宽度:400,
莫代尔:是的,
打开:函数(){
返回$(this).load(url+'#content');
}
});
对话形式对话(“打开”);
e、 预防默认值();
});
});
固定的

我用
更改了
,查看firebug

当我点击“发送朋友”时,
3个GET请求将被发布…
让我们有一些源代码让您详细了解


很可能有两个Java脚本响应同一次单击

如果您在页面上查看源代码,您可以看到

<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>


Application.js包含两次。这可能不是导致问题的确切js文件,但更有可能的是,如果您在站点中随意使用并删除javascript,您将拥有相同的功能,而不会出现重复的响应。

我使用application.js中的代码更新了主帖。。我希望这是正确的代码。您是否尝试删除其中一个
是的,问题是与varatis建议的application.js的副本有关。谢谢你的时间和帮助,很简单。谢谢你睁开我的眼睛:)