我错过了什么:未捕获的类型错误:未定义不是一个函数onclick


What am i missing: Uncaught TypeError: undefined is not a function onclick

制作一个简单的wp插件,在登录字段的正下方添加两个按钮,以填充#user_login和#user_pass。

<?php
/**
* Plugin Name: Change Login Value
* Plugin URI: http://dashboarddemo.mbtdesigns.com
* Description: Change wp-login values
* Version: 1.0
* Author: Matt Taylor
* Author URI: http://Mbtdesigns.com
* License: GPL2
*/

add_action('login_form','login_extra_buttons');
function login_extra_buttons() {
?>  
<a href="#" onclick="$('#user_login').value = 'demo';$('#user_pass').value = 'demo';">Demo Login</a>
<a href="#" onclick="$('#user_login').value = 'admin'; $('#user_pass').value = 'demo';">Admin Login</a>

}

我在onclick上得到一个未定义的错误…我在这里错过了什么…

为什么不用javascript代替jquery呢?直接通过id引用元素:

<?php
/**
* Plugin Name: Change Login Value
* Plugin URI: http://dashboarddemo.mbtdesigns.com
* Description: Change wp-login values
* Version: 1.0
* Author: Matt Taylor
* Author URI: http://Mbtdesigns.com
* License: GPL2
*/

add_action('login_form','login_extra_buttons');
function login_extra_buttons() {
?>  
<a href="#" onclick="user_login.value = 'demo'; user_pass.value = 'demo';">Demo Login</a>
<a href="#" onclick="user_login.value = 'admin'; user_pass.value = 'demo';">Admin Login</a>
<?php
}

问题一定是,无论您使用什么库来占用$,都没有正确导入,或者没有正确定义$。错误是说你试图执行一个未定义变量的函数,在你的onclick事件处理程序的情况下,你只运行$函数,所以这一定是问题所在。

这个最小的例子重新创建你的代码:

var example;
example('#user_login').value; //results in TypeError: undefined is not a function

因此,如果您尝试使用jQuery,则需要包含jQuery的导入。您可以访问http://jquery.com获取说明