Wordpress 插件 - 在 onclick 中无法使用 javascript 功能

时间:2021-04-12 09:37:26

标签: wordpress

我正在使用 wordpress 插件。我需要使用一些 javascript 函数。以便我遵循以下步骤。

这是我的构造函数

public function __construct() {
        $this->plugin = plugin_basename(__FILE__);
        $this->includes();
        $this->initHooks();
}

我在 initHooks 函数中包含了一些钩子

public function includes() {
    include sprintf( '%s/includes/package.php', dirname( __FILE__ ) . '/' );
    include sprintf( '%s/includes/booking.php', dirname( __FILE__ ) . '/' );
}

这是我的包含函数

public function initHooks() {
        add_action("admin_enqueue_scripts", array($this, "enqueScripts"));
        add_action("admin_menu", array($this, "adminMenuPages"));
        add_filter("plugin_action_links_$this->plugin", array($this, "settingsLink"));
}

这是我的钩子函数

public function enqueScripts() {
        wp_enqueue_style('az-styles', plugins_url("/assets/css/style.css", __FILE__));
        wp_enqueue_script('az-scripts', plugins_url("/assets/js/lib/jquery-3.6.0.min.js", __FILE__), array('jquery'));
        wp_enqueue_script('az-scripts', plugins_url("/assets/js/app.js", __FILE__), array('jquery'));
    }
}

这是我的脚本部分,javascript已成功加载

function clickHandler() {
    var name = jQuery("#name").value()
    if(name == "") {
        alert("The name field is required")
    }
}

这是我的javascript函数

我在 package.php 文件中使用这个函数

// Output the field
        echo '<input type="text" id="name" onclick="clickHandler()" name="location" value="' . esc_textarea( $location )  . '" class="widefat">';
        echo '<input type="text" name="phone" value="' . esc_textarea( $phone )  . '" class="widefat">';
        echo '<input type="text" name="email" value="' . esc_textarea( $email )  . '" class="widefat">';
        echo '<input type="text" name="description" value="' . esc_textarea( $description )  . '" class="widefat">';
        echo '<input type="text" name="address" value="' . esc_textarea( $address )  . '" class="widefat">';

但我收到以下错误

Uncaught ReferenceError: clickHandler is not defined

谁能告诉我我错过了什么。

提前致谢

0 个答案:

没有答案
相关问题