2016-10-05 101 views
0

我在使用jQuery的包裝一個WordPress插件簡單的jQuery腳本:

$("#myForm").submit(function(e){ 

    e.preventDefault(); 

    if ($('input[name="username"]').val() == "" || $('input[name="password"]').val() == "") 

     $("#NotesArea").html("Please enter both Username and Passnumber"); 

    else 

     $.post($(this).attr("action"), $(this).serialize()) 

       .done(function(data)    { $("#NotesArea").html(data); }) 

       .fail(function(jqXHR, textStatus) {alert("Request failed: " + textStatus);}); 

}); 

我打電話從WordPress的儀表板內的這個劇本,我總是出現這個錯誤:

Uncaught TypeError: $ is not a function

好吧,我這樣做,沒有錯誤,但代碼不起作用!

(function($){ 
$("#myForm").submit(function(e){ 

    e.preventDefault(); 

    if ($('input[name="username"]').val() == "" || $('input[name="password"]').val() == "") 

     $("#NotesArea").html("Please enter both Username and Passnumber"); 

    else 

     $.post($(this).attr("action"), $(this).serialize()) 

       .done(function(data)    { $("#NotesArea").html(data); }) 

       .fail(function(jqXHR, textStatus) {alert("Request failed: " + textStatus);}); 

}); 
})(jQuery); 
+1

好像因爲兩個jQuery的衝突,您可以繼續使用$使用不同的版本。 –

回答

3

WordPress的使用noConflict其去除$別名

總結你的代碼在以下IIFE和裏面

(function($){ 
    /* your code*/ 

})(jQuery); 
+0

我使它像你所建議的,但它不會工作!請參閱y編輯plz。 – MRAN

+0

*「不起作用」*不是很豐富。提交事件是否被觸發? ajax請求是否成功?需要更多細節 – charlietfl

+0

「ReferenceError:jQuery沒有定義」這是錯誤! – MRAN

1

確保您在腳本之前調用jQuery庫。

+0

'sure'not'shure' – darham

+0

你說得對,謝謝你我的朋友。 – MRAN

+0

@MRAN不客氣。 –

相關問題