javascript - 更新 textarea 不会以表单形式提交

标签 javascript jquery google-chrome-extension

我正在开发谷歌日历中的 chrome 扩展。 session 的描述通过 jquery 更新,如下所示,

 <div class="ui-sch">
    <textarea id=":24" name=":24" class="textinput" style="overflow: hidden; resize: vertical;" rows="3" aria-labelledby=":13.descript-label">
    </textarea>
    </div>

 var el= document.getElementsByClassName("textinput");
for(i=0; i < el.length; i++) 
{ 
    if(el[i].type == "textarea")
    {   
        el[i].value="sample description";
    }
}

内容按预期更新到文本区域。但是当我们提交表单时,没有提交描述。就像我们在更新内容后手动按下回车一样,提交来自 javascript 的更新值。

我怀疑,描述框中的数据更改绑定(bind)到另一个变量。如何将desc中的数据变化更新到表单提交?

更新: 模拟步骤

  1. 打开 calender.google.com
  2. 点击创建 session 粘贴上面的内容
  3. 控制台中的 javascript。 (观察描述字段的值)
  4. 现在点击保存 (打开 session 后 session 描述不会被保存)

  5. 现在创建一个 session 并按照上述步骤 1-3 进行操作。

  6. 单击描述框并按回车键或任何其他字符。
  7. 保存 session 。 (描述保存到 session )

最佳答案

在您的示例页面中,Google API 似乎仅在监听 change 事件时才识别更改。你可以模拟它

el[i].dispatchEvent(new Event('change'));

关于javascript - 更新 textarea 不会以表单形式提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43692346/

相关文章:

c# - 密码的按需正则表达式

javascript - .focus 没有按我的预期工作

google-chrome - Chromium 的自定义安装程序

javascript - 当没有编写 api 时,如何模拟 Angular2 中的 http observable

javascript - JS Timepicker 设置和谐的最小和最大时间

javascript - 如何从 JSON 对象中读取键

javascript - SQL不适当的数据填充

javascript - 在 $(window).resize() 时更改 slidesToShow slick 属性

google-chrome-extension - 您可以禁用首次安装 chrome 扩展程序时显示的欢迎消息吗?

javascript - 用户单击复选框后保持上下文菜单打开?