我缺少什么:未捕获TypeError:undefined不是onclick函数

时间:2014-05-25 17:51:56

标签: javascript php onclick undefined

制作一个简单的wp插件,在登录字段下添加2个按钮,以便在点击时填充#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上得到一个未定义的错误......我在这里失踪了......似乎无法发现它..

2 个答案:

答案 0 :(得分:2)

为什么不在这里使用vanilla 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
}

无需在此恕我直言上浪费jQuery。

答案 1 :(得分:0)

问题必须是,无论您使用什么库来占用$,都没有正确导入,或者没有正确定义$。该错误表示您正在尝试执行未定义变量的函数,对于onclick事件处理程序,您只运行$函数,以便一定是问题所在。

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

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

因此,如果你正在尝试使用jQuery,那么你需要包含jQuery的导入。您可以查看http://jquery.com获取相关说明。