Javascript 如何更改此输入';s值多少?

Javascript 如何更改此输入';s值多少?,javascript,html,asp.net,.net,asp.net-mvc,Javascript,Html,Asp.net,.net,Asp.net Mvc,我想更改使用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在Outlook Web App中存储主题行的文本字段的输入:

此主题文本字段定义为:

<input tabindex="0" class="_f_ql _f_rl textbox allowTextSelection placeholderText" role="textbox" aria-labelledby="MailCompose.SubjectWellLabel" autoid="_f_B2">
就用户界面而言,这些功能用于设置值:

但它们不会修改当你点击Send时发布的主题的“真实”值。点击发送按钮后,主题将不显示任何值(并在电子邮件中显示为
(无主题)
)。我可以从POST请求中看到,除非我手动单击元素,聚焦它,并手动键入我希望它显示的内容,否则它不会在JSON对象中发送主题参数

如何修改此控件预期处理的“真实”主题值?我猜这是一个MVC控件或其他类型的ASP.NET控件…我正在尝试用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">

一旦它在maxlength=“255”下处于非占位符文本状态,我就能够使用
textFieldElement.innerText=“Example”成功地更改它上面的innerText,并在提交时正确发送

但是,我不能假设Subject元素会被单击,所以我必须首先处理Subject元素的占位符文本版本,并以某种方式让它在进入另一种状态时重现这种行为。到目前为止,我已经尝试了以下方法,但没有成功:

  • 聚焦占位符文本主题元素,然后设置其内部文本
  • 更改占位符文本主题元素的属性以匹配其非占位符文本版本,然后设置其innerText

看起来你需要使用


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

输入的更改可能会带来一些威胁。更改值后,尝试调用
textFieldElement.onchange()
。@LcSalazar当我这样做时,它会抛出一个异常:预期对象。看起来textFieldElement.onchange为null。Office可用,但Office.context为null,我不知道为什么。PS不确定这是否重要,但我没有为Outlook构建应用程序,我正在将default.aspx作为Outlook 2013 Web应用程序的一部分进行修改。本质上,我是Outlook 2013 Web应用程序。
<input class="_f_ql _f_rl textbox allowTextSelection" autoid="_f_B2" role="textbox" tabindex="0" aria-labelledby="MailCompose.SubjectWellLabel" maxlength="255">