我有一个启用了“给卖家的说明”选项的 weebly 网站。无法编辑此字段,因此我尝试使用 javascript 向 textarea 添加自定义消息,但遇到了一些麻烦。textarea 没有 id,只有一个 name 属性。
HTML 代码:
document.getElementsByName("order_notes")[0].innerHTML="PUT YOUR PERSONALIZED MESSAGE HERE";
var standard_message = document.getElementsByName("order_notes")[0].innerHTML;
var x = document.getElementsByName("order_notes")[0];
x.addEventListener("focus", myFocusFunction, true);
x.addEventListener("blur", myBlurFunction, true);
function myFocusFunction() {
if (document.getElementsByName("order_notes")[0].innerHTML == standard_message)
document.getElementsByName("order_notes")[0].innerHTML="";
}
function myBlurFunction() {
if (document.getElementsByName("order_notes")[0].innerHTML == "")
document.getElementsByName("order_notes")[0].innerHTML=standard_message;
}
<div id="wsite-com-checkout-notes">
<form>
<h2 class="wsite-panel-title">Note to Seller (Optional)</h2>
<div class="wsite-form-field">
<div class="wsite-form-input-container">
<textarea class="wsite-form-input wsite-input" name="order_notes"></textarea>
</div>
</div>
</form>
</div>
查看结帐页面(该字段所在的位置)时,我立即在控制台中看到此错误:Uncaught TypeError: Cannot set property 'innerHTML' of undefined,但如果我再次在控制台中输入代码,它会完美运行。代码在关闭“body”标签之前执行,因此在代码启动时已经创建了 textarea。我也尝试使用 window.onload 运行代码,但我仍然遇到相同的错误。
我首先尝试使用 jQuery,但由于某种原因,Weebly 无法识别该函数,即使该库已加载并且已经有其他函数使用 jQuery。
有什么想法可能导致这种情况吗?感谢所有帮助!