首先,JS是错误的:
在您网站上的浏览器开发人员/Web检查器>控制台中,我键入$()
“未定义”。然后我做到了jQuery()
, 它显示一个值,所以它被定义了。所以你应该使用jQuery(
, 不$(
自始至终
旁注:我看到“继续”按钮只是一个<button>
元素,不在<form>
, 但如果会的话.click()
您需要阻止默认的按钮单击操作。您可以通过以下方式执行此操作:
yourButton.click(function(e){
e.preventDefault;
// your code
return false;
});
--
因此,我可以通过控制台点击按钮启动,使用以下功能:
jQuery("#product-details-continue").click(function(e) {
e.preventDefault;
alert(\'\');
});
没有必要,但您可能还需要考虑将jQuery包装到
ready
为了确保DOM已完全加载,
jQuery(document).ready(function() {
jQuery("#product-details-continue").click(function(e) {
e.preventDefault;
// your code
alert(\'\');
return false;
});
});
添加您的代码后,我可以通过控制台获得带有输入值的URL弹出窗口,其中包括:
jQuery(document).ready(function() {
jQuery("#product-details-continue").click(function(e) {
e.preventDefault;
var vrnt = jQuery("input[name=variant_id]:checked").val();
var qnty = jQuery("input[name=quantity]:checked").val();
var addr = "https://cruxstickers.com/product/" + vrnt + "-" + qnty;
alert(addr);
return false;
});
});
<小时>
其次,要将其纳入你的网站,在你的主题功能中。php文件,或在插件主目录中。php文件—无论您在何处开发—您都可以添加以下内容,将JS代码注入到站点的页脚中:
add_action(\'wp_footer\',function(){
?>
<script>
jQuery(document).ready(function() {
jQuery("#product-details-continue").click(function(e) {
e.preventDefault;
var vrnt = jQuery("input[name=variant_id]:checked").val();
var qnty = jQuery("input[name=quantity]:checked").val();
var addr = "https://cruxstickers.com/product/" + vrnt + "-" + qnty;
alert(addr);
return false;
});
});
</script>
<?php
});
最后,您为HTML粘贴了一个脚本标记
https://ajax.googleapis..../jquery.min.js
但你不需要这样,而且它不起作用。如果您浏览源代码,您将看到
<script type="text/javascript" src="https://cruxstickers.com/wp-includes/js/jquery/jquery.js?ver=1.12.4"></script>
这就是为什么jQuery
no-conflict mode jQuery()
正在工作。如果要使用外部脚本,应使用
wp_enqueue_script().