如何验证SharePoint多行表单字段的innerText?

时间:2018-11-27 17:46:50

标签: javascript jquery sharepoint

这是解决我的问题的代码:

var field1 = $("div[id='Owner_fdcd6919-2ee0-4200-90b4-32f6cd3d757e_$TextField_inplacerte']");
console.log(field1[0].innerText);
if(field1[0].innerText.length < 1){
    alert('Please fill out Column B');
    field1.attr("style", "border: solid 1px #ff4c42 !important");
    return false;
}

奇怪的是,console.log(field1[0].innerText);的输出始终是正确的,但是当我尝试在if语句中验证innerText时,每次都将导致false(我看不到警报)。

我也尝试了不同类型的字符串验证(例如if (!field1[0].innerText.toString())),但没有任何效果。

感谢所有帮助。

编辑:即使没有任何输出到控制台,似乎也有一些HTML格式化为字符串。

正在<p></p>之间提取文本。我花了3个小时尝试各种可能的方法来使字符串为空,我已经完成了。碰到同样问题的人,祝你好运...

<p>​

<span id="ms-rterangepaste-start" aria-hidden="true"></span>
<span id="ms-rterangecursor-start" aria-hidden="true"></span>
<span id="ms-rterangecursor-end" aria-hidden="true"></span>
</p>

1 个答案:

答案 0 :(得分:0)

正如我在编辑中提到的那样,事实证明JavaScript中包含了一些奇怪的span元素。我最终的解决方案是将字段从RichText更改为PlainText。