2011-05-31 75 views
0

以下代碼用於在不試圖用jQuery verion 1.6呈現新模板的情況下運行。我安裝了jQuery 1.6.1,現在單擊按鈕單擊結果嘗試呈現新頁面。jQuery「return false」工作在1.6版本,但不是1.6.1(rails 3)

僅供參考,每次點擊都會提交表格,因爲相當多的客戶會完成部分問題,關閉瀏覽器並期望他們的工作在他們回來完成時留在那裏。如果有更好的方法,我很想知道它。

在開發計算機上的application.js

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

同樣,這部作品在jQuery的1.6,但不是1.6.1。我用this tutorial作爲指導。

任何幫助表示讚賞。

更新:此問題的延續here

+2

'* blah * .submit()'將導致表單POST/GET。你在期待什麼?只有當綁定到表單的Submit事件的JS返回'false'時,表單纔會被提交... – 2011-05-31 19:55:03

+0

你好,@GregB。我有「回報假」;以上。我的語法錯了嗎?你能告訴我它應該看起來怎麼樣?任何「嗡嗡聲」將不勝感激:=] – Jay 2011-05-31 20:04:02

+1

傑伊,你怎麼能提交表單,但想用'return false'取消它。你能描述一下你想做什麼嗎 – 2011-05-31 20:21:03

回答

1

問題是生產機器上的jQuery和開發機器上的另一個版本。我們在開發機器上將1.6從1.6更改爲1.6.1分鐘。當我改回它時,問題消失了。謝謝你們的幫助。對代表的榮譽。如果他發佈,我會將答案交給他。

+0

我只是很樂意提供幫助。我做的最多的是指向不同的方向,因爲JavaScript似乎沒有改變。很高興知道問題解決了。 – thedaian 2011-05-31 21:29:11

+0

v1.6不推薦,它有可能打破許多jQuery插件和你現有的任何代碼。關於$ .attr()與$ .prop()的完整交易已經在v1.6.1中解決了(基本上向後兼容性被添加了,因爲它應該在v1.6中)。 – CaptSaltyJack 2011-05-31 21:50:37

+0

@CaptSaltyJack,我已經更新了原來是真正問題的帖子。任何幫助表示讚賞。謝謝。 – Jay 2011-05-31 23:45:01

1

嘗試:

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

感謝您的嘗試,但它仍嘗試呈現新模板。 – Jay 2011-05-31 20:25:15

1

看事件...你每次提交表單,然後試圖返回假......也許您正在尋找這樣的事情你的直鏈:

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

你是對的。每次都提交表單而不呈現頁面。我們這樣做是因爲不少客戶會完成部分問題,關閉瀏覽器並期望他們的工作在他們回來時完成。 – Jay 2011-05-31 20:38:01

相關問題