2012-07-29 70 views
1

這裏是場景:在wp_editor裏面使用jquery

我在wordpress管理器中創建一個頁面。我在編輯器或WYSIWYG中創建了一個名爲「聯繫我們」的頁面,我製作了一個表單和一個按鈕。我想在提交表單時使用$ .post。

在編輯器中:

<form> 
    <input type="text" name="txt"/> 
    <input type="button" id="btn" value="Save"/> 
</form> 

在page.php文件,我包括在此代碼:

$(document).ready(function(){ 
    $('#btn').click(function(){ 
     alert('save'); 
    }); 
}); 

但有一個在螢火控制檯說的一個錯誤:的ReferenceError:未定義的jQuery

這是怎麼回事?或者這甚至有可能?

+0

你在'#btn'之後忘了關閉''''。 – 2012-07-29 02:10:28

+0

好的。我沒有複製粘貼到這裏,所以請原諒錯誤。 – Jetoox 2012-07-29 02:12:02

+0

沒問題,只要確保它不會產生語法錯誤。關於主題,是的,這是可能的。確保jQuery包含在你的頁面中 - 我不太清楚,但我認爲WP有一個內置的jQuery庫lib ..我會檢查,儘管我寧願將它包含在Google CDN中。 – 2012-07-29 02:14:02

回答

1

此錯誤:

ReferenceError: jQuery is not defined

意味着jQuery的命名空間中沒有定義,這是因爲你要麼忘了,包括jQuery的lib下,客戶端瀏覽器無法在指定的地址或客戶端發現瀏覽器與jQuery不兼容(即使地址正確,該錯誤也會顯示在IE 5.5上)。另外,如果您使用WP的嵌入式jQuery庫,則不能使用$在全局範圍內引用jQuery,因爲WP會自動將其設置爲noConflict mode。從docs摘自:

Note: The jQuery library included with WordPress loads in "no conflict" mode. This is to prevent compatibility problems with other javascript libraries that WordPress can load.

您可以創建一個封閉別名$jQuery則:

jQuery(document).ready(function($) { 
    // $() will work as an alias for jQuery() inside of this function 
}); 

要使用嵌入式庫,你還應該包括使用wp_enque_script腳本。

Check this post瞭解更多詳細信息。

顯然,您也可以從Google CDN中加入它,並通過直接添加/回顯腳本標記來跳過所有那些wp_enque_script和閉包指南,這是我個人的做法,但我沒有這麼說! :)