我想使用JavaScript更改在Outlook Web App中存储主题行的文本字段的输入:
此主题文本字段定义为:
<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";
这些用于设置与用户界面有关的值:
但他们不会修改&#34;真实&#34;单击“发送”时发布的主题的值。点击“发送”按钮后,主题不会显示任何值(并在电子邮件中显示为(no subject)
)。我可以从POST请求中看到,除非我手动点击元素,将其聚焦,然后手动输入我希望它显示的内容,物理上使用键盘,它不会在其JSON对象中发送主题参数。
如何修改&#34;真实&#34;该控件有望处理的主题值?我猜这是一个MVC控件或其他类型的ASP.NET控件......我正在尝试使用JavaScript修改.aspx页面来编辑这个值。
-------------------------------------------- -------------------------------------------------- --------------------------------------------------
修改:我只能在一个特定情况下设置主题行。首先,我需要实际点击主题元素。我注意到这有一个奇怪的行为,就是在这个元素上设置类:
<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">
一旦它处于非占位符文本状态,其中maxlength =&#34; 255&#34;,我就可以使用textFieldElement.innerText = "Example";
成功更改其上的innerText,并且在提交时,这将被正确发送。
但是,我不能假设将单击Subject元素,因此我必须首先使用subject元素的placeholderText版本,然后以某种方式让它重现此行为进入另一个状态。到目前为止,我已经尝试了以下方法但没有成功:
答案 0 :(得分:1)
http://msdn.microsoft.com/en-us/library/office/fp161027(v=office.1501401).aspx
看起来你需要使用
Office.context.mailbox.item.subject
设置主题。 Outlook使用API,因此您需要使用API方法。