[英]Cannot get value of textarea with Shopify Product Options by Bold
我正试图通过Bold的 Shopify 产品选项获得textarea的价值,目前它无法正常工作。 我能够在本地获取textarea的值,但是当我将代码移到Shopify时,我无法获得值。 我看过这里和这里无济于事。
这是相关的代码:
document.getElementById("248832").onkeyup=function(){getVal()};
var textbox = document.getElementsByName("properties[Message Body]")[0].value;
这是textarea我想要获得的价值
<textarea data-option-key="ta_248832" id="248832" class="bold_option_child shapp_full_width " name="properties[Message Body]"></textarea>
当我尝试在Shopify上运行时,我收到一条错误,上面写着“Uncaught TypeError:无法设置属性'onkeyup'为null”,虽然我确实注意到shopify运行以下jQuery代码,这可能是导致我的问题的原因:
<script>
jQuery('#248832').change(function (){conditional_rules(7437760391);})
</script>
我试图得到textarea的值,所以我可以运行得到所述textarea中的单词数量。
任何帮助将不胜感激!
解
你试图在没有jQuery的情况下使用类似于jQuery方法的东西:
document.getElementById("248832").onkeyup=function(){getVal()};
而DOM元素没有onkeyup
方法。 它应该是
jQuery("#248832").on("keyup",function(){getVal()});
额外的笔记
即使不使用推荐的'.on'方法,也必须将其编写为
jQuery("#248832").keyup(function(){getVal()});
( docs ),而不是
jQuery("#248832").onkeyup(function(){getVal()});
如果您想使用DOM方法,那就是
document.getElementById("248832").addEventListener("keyup",function(){getVal()});
另外,也许你已经把它写成了一个最小的例子,但是你只调用getVal()
并且不在某个地方传递值的事实听起来很奇怪,尽管我不知道getVal()
究竟是做什么的。
查看返回为null
的元素是否已加载。 处于类似情况的其他人通过最后加载脚本来解决此问题 希望这有用:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.