如何解决Drupal 9-未捕获的ReferenceError:未定义jQuery
我试图在Drupal 9中使用外部Javascript库areYouSure。出现错误“未捕获的ReferenceError:未定义jQuery”。
我的表单php代码如下所示。
<?php
function raco_inventory_purchase_form($eid)
{
$out =
'
<script src="/core/assets/vendor/jquery/jquery.min.js"></script>
<script src="/libraries/areyousure/jquery.are-you-sure.js"></script>
<script src="/modules/custom/racoinventory/js/racoinventory.js"></script>
<body>
<form id="myform" autocomplete="off" action="/racoinventory/purchase/entries/' . $eid . '" method="post">
<input type="text" id="yourname" name="yourname" value="' . '" placeholder="Enter your name">
<br><br>
<input type="button" value="Save" onclick="racoinventory_save_data(this);" />
</form>
<script>
jQuery(function()
{
jQuery("#myform").areYouSure(
{
message: "It looks like you have been editing something. "
+ "If you leave before saving,your changes will be lost."
}
);
});
</script>
</body>
';
return $out;
}
?>
我的库文件如下所示
# Custom module library for general purposes.
racoinventory:
css:
component:
css/racoinventory.css: {}
js:
/libraries/raco/racocommon.js: {}
js/racoinventory.js: {}
/libraries/areyousure/jquery.are-you-sure.js
dependencies:
- core/jquery
- core/jquery.once
并且javascript代码如下所示
function racoinventory_save_data()
{
alert("You hit Save button");
jQuery('#myform').trigger('rescan.areYouSure');
return true;
}
使用此代码,在加载页面时,出现以下错误。
未捕获的TypeError:jQuery(...)。areYouSure不是函数
我不确定这里出了什么问题。有人可以帮我解决这个问题。
解决方法
IMO,您可以尝试将代码包装在其中
a1 = A({1: 1,2: 2,3: 3})
a1.method()
a2 = A(a1.arg.copy())
a2.method()
a3 = A(a1.arg.copy())
a3.method()
outout :
{1: 2,3: 3}
{1: 3,3: 3}
但是,您可以检查jQuery库版本并可以在底部加载jQuery。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。