jQuery";返回false";适用于1.6版,但不适用于1.6.1版(rails 3)

jQuery";返回false";适用于1.6版,但不适用于1.6.1版(rails 3),jquery,ruby-on-rails-3,Jquery,Ruby On Rails 3,以下代码用于在不尝试使用jQuery verion 1.6呈现新模板的情况下运行。我安装了jQuery1.6.1,现在单击一个单选按钮,尝试呈现一个新页面 仅供参考,每次点击时都会提交表格,因为相当多的客户会完成部分问题,关闭浏览器,并期望他们的工作回来完成时会在那里。如果有更好的办法,我很想知道 在开发机器上的application.js中: $('.submittable').live ('change', function() { $(this).

以下代码用于在不尝试使用jQuery verion 1.6呈现新模板的情况下运行。我安装了jQuery1.6.1,现在单击一个单选按钮,尝试呈现一个新页面

仅供参考,每次点击时都会提交表格,因为相当多的客户会完成部分问题,关闭浏览器,并期望他们的工作回来完成时会在那里。如果有更好的办法,我很想知道

在开发机器上的application.js中:

$('.submittable').live
    ('change', function() 
        {
        $(this).parents('form:first').submit();
        return false;
        }
    );
同样,这适用于jQuery1.6,但不适用于1.6.1。我曾经当过导游

感谢您的帮助

更新:继续本期。

尝试:

$('.submittable').live('change', function(event) {
    event.preventDefault();
    $(this).parents('form:first').submit();
    return false;
});
尝试:


看看你的线性事件链。。。您每次都在提交表单,然后试图返回false…也许您正在寻找类似以下内容:

$('.submittable').live('change', function(){
   if( /some condition/ ){
       $(this).parents('form:first').submit();
    } else {
       return false;
    }
 });

看看你的线性事件链。。。您每次都在提交表单,然后试图返回false…也许您正在寻找类似以下内容:

$('.submittable').live('change', function(){
   if( /some condition/ ){
       $(this).parents('form:first').submit();
    } else {
       return false;
    }
 });


问题是生产机器上的一个jQuery版本和开发机器上的另一个版本。我们在开发机器上从1.6满更改为1.6.1分钟。当我把它换回来时,问题就消失了。谢谢你们的帮助。戴安人的荣誉。如果他发帖的话,我会把答案交给他。

问题是生产机器上的jQuery版本和开发机器上的jQuery版本。我们在开发机器上从1.6满更改为1.6.1分钟。当我把它换回来时,问题就消失了。谢谢你们的帮助。戴安人的荣誉。如果他发帖,我会把答案交给他。

*等等。submit()
会导致表单发帖/获取。你在期待什么?只有当绑定到表单提交事件的JS返回
false
时,表单才会不被提交…jay,你怎么能提交表单却想用
return false
取消它呢。你能描述一下你想做什么吗?你是从收音机的
change
事件处理程序返回的
false
,而不是从表单的
submit
事件返回的。似乎您希望通过Ajax提交表单,以防止重新加载整个页面?这就是你想要做的吗?@Jay:你发布的代码在更改事件中返回false。如果javascript代码在jQuery之前工作,那么我会感到惊讶,因为它是jQuery库函数。。。在转换为jQuery之前,如果看不到代码是什么,很难说为什么jQuery版本不起作用。@Jay:奇怪。你确定你的生产机器上没有jQuery?也许你有另一个关于生产的框架?还是jQuery的旧版本?如果javascript代码没有更改,那么问题可能存在于其他地方。(可能Rails和jQuery有一个我不理解的问题…
*blah*.submit()
会导致表单发布/获取。你在期待什么?只有当绑定到表单提交事件的JS返回
false
时,表单才会不被提交…jay,你怎么能提交表单却想用
return false
取消它呢。你能描述一下你想做什么吗?你是从收音机的
change
事件处理程序返回的
false
,而不是从表单的
submit
事件返回的。似乎您希望通过Ajax提交表单,以防止重新加载整个页面?这就是你想要做的吗?@Jay:你发布的代码在更改事件中返回false。如果javascript代码在jQuery之前工作,那么我会感到惊讶,因为它是jQuery库函数。。。在转换为jQuery之前,如果看不到代码是什么,很难说为什么jQuery版本不起作用。@Jay:奇怪。你确定你的生产机器上没有jQuery?也许你有另一个关于生产的框架?还是jQuery的旧版本?如果javascript代码没有更改,那么问题可能存在于其他地方。(也许Rails和jQuery有一个我不明白的问题…)谢谢你的尝试,但它仍然尝试呈现一个新模板。谢谢你的尝试,但它仍然尝试呈现一个新模板。你是对的。每次提交表单时都没有呈现页面。我们这样做是因为相当多的客户会完成部分问题,关闭浏览器,并期望他们的工作回来完成时会在那里。你是对的。每次提交表单时都没有呈现页面。我们这样做是因为很多客户会完成部分问题,关闭浏览器,并期望他们的工作在回来完成时会在那里。我很高兴能提供帮助。我做的最多的事情就是向您指出不同的方向,因为javascript似乎没有改变。很高兴知道问题已经解决了。不推荐使用v1.6,它可能会破坏许多jQuery插件和您现有的任何代码。关于$.attr()与$.prop()之间的一系列问题在v1.6.1中得到了解决(基本上是添加了向后兼容性,这在v1.6中是应该的)。@CaptSaltyJack,我已经用实际问题更新了这篇文章。感谢您的帮助。谢谢。我很乐意帮忙。我做的最多的事情就是向您指出不同的方向,因为javascript似乎没有改变。很高兴知道问题已经解决了。不推荐使用v1.6,它可能会破坏许多jQuery插件和您现有的任何代码。关于$.attr()与$.prop()之间的一系列问题在v1.6.1中得到了解决(基本上是添加了向后兼容性,这在v1.6中是应该的)。@CaptSaltyJack,我已经用实际问题更新了这篇文章。感谢您的帮助。谢谢