我希望使用JavaScript更改将主题行存储在Outlook中的文本字段的输入:

该主题文本字段定义为:
<input tabindex="0" class="_f_ql _f_rl textbox allowTextSelection placeholderText" role="textbox" aria-labelledby="MailCompose.SubjectWellLabel" autoid="_f_B2">我使用我的JavaScript代码尝试了以下操作:
textFieldElement.value = "Example";
textFieldElement.innerHTML = "Example";
textFieldElement.innerText = "Example";就用户界面而言,这些工作用于设置值:

但是他们不会修改当你点击发送时发布的主题的“真实”值。一旦你按下“发送”按钮,主题就没有任何价值(并在电子邮件中显示为(no subject) )。我可以从POST请求中看到,除非我手动单击元素,对其进行对焦,然后手动键入我希望它显示的内容,否则它不会在其JSON对象中发送subject参数。

如何修改期望此控件处理的“真实”主题值?我猜想这是一个MVC控件或其他类型的ASP.NET control...and,我试图用JavaScript修改.aspx页面来编辑这个值。
--------------------------------------------------------------------
编辑:我只能在一个特定的情况下设置主题行。首先,我需要物理地单击subject元素。我注意到这有一种奇怪的行为,在这个元素上设置类,如下所示:
<input class="_f_ql _f_rl textbox allowTextSelection placeholderText" autoid="_f_B2" role="textbox" tabindex="0" aria-labelledby="MailCompose.SubjectWellLabel">对此:
<input class="_f_ql _f_rl textbox allowTextSelection" autoid="_f_B2" role="textbox" tabindex="0" aria-labelledby="MailCompose.SubjectWellLabel" maxlength="255">一旦它处于最大长度= "255“的非placeholderText状态,我就能够使用innerText成功地使用textFieldElement.innerText = "Example";对它进行更改,并在提交时正确地发送。
但是,我不能假设Subject元素将被单击,所以我必须首先使用subject元素的placeholderText版本,并以某种方式让它在进入另一种状态时再现这种行为。到目前为止,我尝试了以下几点,但都没有成功:
发布于 2014-10-14 21:29:37
http://msdn.microsoft.com/en-us/library/office/fp161027(v=office.1501401).aspx
看来你需要用
Office.context.mailbox.item.subject来设置主题。Outlook使用API,因此需要使用API方法。
https://stackoverflow.com/questions/26369801
复制相似问题