2014-03-05 42 views
0

我有困難的時候在jade裏面寫js函數。我總是得到函數沒有定義的錯誤。下面是我的代碼:jade裏面的javascript函數

extends layout 

block content 
    script(src='/socket.io/socket.io.js') 
    script. 
    var scoket = io.connect('http://localhost:3000') 
    var email = #{email} 
    var userEmail = #{userEmail} 

    function sendInvite(){ socket.emit('invite from', email, userEmail)} 

    div(data-role = 'page') 
    div(data-role = 'header') 
     h1 #{title} 
    div(data-role = 'content') 
     form(action='/postSendInvite', method='post') 
     input(type = 'hidden', name='_csrf', value='token') 
     input(type='hidden', name='email', value=email) 
     input(type='hidden', name='userEmail', value=userEmail) 
     h1 #{email} 
     button(type='submit', onclick='sendInvite()') Send Invite 
    include partials/footer 

請讓我知道我做錯了什麼

+1

函數沒有定義?或'套接字'沒有定義?你有一個錯字,首先'scoket'然後'套接字' –

回答

1

注意它無關玉。一旦Javascript被解釋,翡翠已經被渲染爲HTML,所以問題是關於在HTML頁面中定義JS函數。

錯誤可能是因爲您定義了一個「scoket」,而您之後使用的是未定義的「套接字」。

+0

是的,玉代碼看起來很好 – timaschew

0

感謝指出錯誤,但問題不是錯別字,它是說sendInvite()沒有定義,我發現解決方案是將函數寫入助手js文件,然後將js文件包含到玉