在SharePoint博客网站上,用户通过键入contenteditable设置为true的div来插入新帖子。这在iPad上不起作用,因为iPad上的Safari不支持它。
我可以找到div并删除属性但是,我怎么能插入文本?我可以用多行文本框替换整个div(虽然不确定SharePoint在保存时会考虑什么)?
HTML看起来像:
<tr>
<td nowrap="true" valign="top" width="190px" class="ms-formlabel">
<h3 class="ms-standardheader">
<nobr>Body</nobr>
</h3>
</td>
<td valign="top" class="ms-formbody">
<!-- FieldName="Body"
FieldInternalName="Body"
FieldType="SPFieldNote"
-->
<span dir="none"><div class='ms-rtestate-field ms-rtefield' style=''><div id='ctl00_m_g_cc0fae80_c5f8_428c_9d00_793718f1d202_ctl00_ctl04_ctl01_ctl00_ctl00_ctl04_ctl00_ctl00_TextField_inplacerte_label' style='display:none'>Rich text editor</div><div class=' ms-rtestate-write ms-rteflags-0' id='ctl00_m_g_cc0fae80_c5f8_428c_9d00_793718f1d202_ctl00_ctl04_ctl01_ctl00_ctl00_ctl04_ctl00_ctl00_TextField_inplacerte' style='min-height:210px' aria-labelledby='ctl00_m_g_cc0fae80_c5f8_428c_9d00_793718f1d202_ctl00_ctl04_ctl01_ctl00_ctl00_ctl04_ctl00_ctl00_TextField_inplacerte_label' contentEditable='true' ></div><div style="clear:both;"></div></div>
<span dir="ltr">
<input name="ctl00$m$g_cc0fae80_c5f8_428c_9d00_793718f1d202$ctl00$ctl04$ctl01$ctl00$ctl00$ctl04$ctl00$ctl00$TextField_spSave" type="HIDDEN" id="ctl00_m_g_cc0fae80_c5f8_428c_9d00_793718f1d202_ctl00_ctl04_ctl01_ctl00_ctl00_ctl04_ctl00_ctl00_TextField_spSave" />
</span>
</span>
</td>
</tr>
答案 0 :(得分:0)
您可以使用您所说的多行方框来代替div,但是您可以在列表设置中更改列的字段属性以使其更改,而不是更改代码,或者SharePoint可能会与列表字段断开连接我正在尝试更新。
如果必须使用SharePoint的控件,还可以隐藏div:style="display:none"
并使用jQuery从一个普通的textarea填充它,你可以把它放在SP Designer的页面上 - 可以得到它的.text()
或.html()
或.val()
(不记得了我的头部是哪一个),将它分配给var textAreaText,然后使用
$('id$=inplacerte').html(textAreaText);