2014-08-30 32 views
0

我有一個代碼來防止表單提交後,並相應地採取不同的條件。這兩個條件工作,一切正常,但在ELSE條件後,頁面刷新。這裏是代碼:preventDefault無法在其他條件提交使用CoffeeScript與Rails 4

$('.form_invitation').on 'submit', (e) -> 
    e.preventDefault() 
    $('#sending_invite').show() 
    $.post $(this).prop('action'), $(this).serialize(), (invite) -> 
     alert(invite.status) 
     if invite.status 
      $('#sending_invite').hide() 
      $('#invite_sent').show() 
      $('#invite_email').val('') 
     else 
      alert('start') 
      $('#sending_invite').hide() 
      $('#invite_fail').show() 
      alert('end') 

我把這些警報在那裏,所有這些都在頁面刷新之前顯示。我試過返回false而不是preventDefault,也沒有工作。任何人都可以看到我缺少的東西嗎?

+0

網絡檢查員根據點擊後提出的要求說些什麼? – arghbleargh 2014-08-30 15:28:28

+0

Actualy,它表明邀請被提交兩次。他們第一個的地位是虛假的,第二個是完全空的。 – 2014-08-30 15:45:51

+0

我剛剛再次檢查了成功場景,並且它在時間發送兩封電子郵件,這意味着它在成功場景中也會被提交兩次! – 2014-08-30 15:49:09

回答

0

剛剛發現了正在發生的事情。當rails生成表單時,它使用與我爲了類似目的而創建的另一個表單的名稱相同的名稱,並且我已經有了一個js函數來處理另一個表單。我所要做的就是改變這一個,現在一切正常。