【问题标题】:Onclick event won't trigger url directOnclick 事件不会直接触发 url
【发布时间】:2021-01-26 06:11:21
【问题描述】:

我有一个我想要调整的工作 sn-p。我正在尝试更改 OnClick 事件(请参阅更改的代码),但无法触发 OnClick 事件。

什么有效:

add_action( 'woocommerce_before_single_product', 'my_button_function', 10 );
function my_button_function() {
  global $product;
  echo ' <button type="button" class="back-button" onclick="history.back();"> Back to overview </button> '; 
}

更改的代码(我没有收到任何错误,但按钮什么也没做)

add_action( 'woocommerce_before_single_product', 'my_button_function', 10 );
function my_button_function() {
        global $product;
        echo '<button type="button" class="back-button" onclick="window.open("https://www.lanacreations.nl/products");"> Back to overview </button>'; 
    }

我也尝试将 onclick 事件放到一个单独的函数中:

function myClickFunction() {
  window.open("https://www.lanacreations.nl/products");
}

add_action( 'woocommerce_before_single_product', 'my_button_function', 10 );
function my_button_function() {
    global $product;
    echo ' <button type="button" class="back-button" onclick="myClickFunction()"> Back to overview </button> '; 

有人看到我做错了吗?

谢谢!

【问题讨论】:

    标签: php wordpress button onclick


    【解决方案1】:

    您的最后一段代码无效,它将 PHP 和 JavaScript 混为一谈。您的第二个 可以工作,但您似乎只是遇到了语法错误。你的属性中有双引号,用双引号封装 - 所以你的 HTML 被破坏了,实际上被解释为:

    onclick="window.open(" https:="" www.lanacreations.nl="" products");"="">
    

    所以要解决这个问题,你可以用单引号替换 JavaScript 函数中的双引号,前提是你 Escape 他们。如果你以' 开始一个字符串,你可以用正斜杠\'“转义”一个单引号来告诉PHP“我希望你实际上在这里放一个单引号,而不是把它当作字符串的结尾” .

    试试这个:

    add_action( 'woocommerce_before_single_product', 'my_button_function', 10 );
    function my_button_function() {
        global $product;
        echo '<button type="button" class="back-button" onclick="window.open(\'https://www.lanacreations.nl/products\');"> Back to overview </button>'; 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多