【问题标题】:Cannot get value of textarea with Shopify Product Options by Bold无法使用 Shopify Product Options by Bold 获取 textarea 的值
【发布时间】:2016-07-03 06:29:21
【问题描述】:

我正在尝试使用 Shopify Product Options by Bold 获取 textarea 的值,但目前无法正常工作。我可以在本地获取 textarea 的值,但是当我将代码移到 Shopify 时无法获取该值。我看过herehere 无济于事。

以下是相关代码:

document.getElementById("248832").onkeyup=function(){getVal()};
var textbox = document.getElementsByName("properties[Message Body]")[0].value;

这是我试图获得价值的文本区域

<textarea data-option-key="ta_248832" id="248832" class="bold_option_child shapp_full_width " name="properties[Message Body]"></textarea>

当我尝试在 Shopify 上运行此程序时,我收到一条错误消息,提示“未捕获的 TypeError:无法设置属性 'onkeyup' of null”,尽管我确实注意到有一次 shopify 运行以下 jQuery 代码,这可能是什么导致我的问题:

<script>
jQuery('#248832').change(function (){conditional_rules(7437760391);})
</script>

我正在尝试获取 textarea 的值,以便我可以运行获取所述 textarea 中的字数。

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript jquery html shopify


    【解决方案1】:

    查看返回为null 的元素是否已加载。其他类似情况的人通过最后加载脚本来解决这个问题。希望这会有所帮助:)

    【讨论】:

    • 这修复了它!只需要最后加载脚本就可以了。谢谢!
    【解决方案2】:

    解决方案

    您正在尝试使用类似于不带 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() 到底做了什么.

    【讨论】:

    • 刚刚用 jQuery 和 DOM 方法尝试过,但无济于事。使用 DOM 方法出现以下错误:Uncaught TypeError: Cannot read property 'addEventListener' of null
    猜你喜欢
    • 2013-03-22
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多