繁体   English   中英

如何更改此输入的值?

[英]How can I change this input's value?

我想更改使用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";

这些工作用于设置有关用户界面的值:

在此处输入图片说明

但是,当您单击“发送”时,它们不会修改发布的主题的“真实”值。 按下“发送”按钮后,主题将没有任何价值(并在电子邮件中显示为(no subject) )。 从POST请求中可以看到,除非手动单击元素,将其聚焦,然后手动输入要显示的内容(实际上是使用键盘),否则它不会在其JSON对象中发送subject参数。

在此处输入图片说明

如何修改该控件应处理的“真实”主题值? 我猜想这是一个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 =“ 255”的non-placeholderText状态,我就可以使用textFieldElement.innerText = "Example";成功更改它的innerText textFieldElement.innerText = "Example"; ,并在提交后正确发送。

但是,我不能假定Subject元素会被单击,因此我必须首先使用subject元素的placeholderText版本,并以某种方式使其在进入其他状态时重现此行为。 到目前为止,我已经尝试了以下方法,但没有成功:

  • 重点关注placeholderText主题元素,然后设置其innerText。
  • 更改placeholderText主题元素的属性以匹配其非placeholderText版本,然后设置其innerText。

http://msdn.microsoft.com/en-us/library/office/fp161027(v=office.1501401).aspx

看起来您需要使用

Office.context.mailbox.item.subject设置主题。 Outlook使用API​​,因此您需要使用API​​方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM