我有一个 REST API 调用,它从 SharePoint 列表返回一组数据,我已将其部署到一系列文本区域。由此,我想选取这些文本区域之一并测试看看某个关键字是否出现在给定的文本中。如果这返回为 True,或出现在文本中,那么我希望将复选框更改为已选中。这一切都是在 MS Edge 中完成的,并将在 Edge 或 IE11 中运行。目前,这一切都没有发生,但我的调试器中没有收到任何错误,并且 REST API 结果正常拉取。
<textarea id="impactedAreas" style="width: 500px; height: 60px"></textarea>
<input type="checkbox" id="custImpacted">
<input type="button" id="button" onclick="updateImpact" value="click me">
function updateImpact(){
var impactAreas = document.getElementById("impactedAreas");
var impact = String(impactAreas);
if (impact.indexOf("Customer") >= 0 ){
document.getElementById("custImpacted").checked = true;
}
文本区域impactedAreas
填充了以下部分或全部关键字的返回,格式如下:顾问、IT、设备、设施、客户、移动网络、家庭网络、天气
最佳答案
你错过了两件事:
- 在 HTML 中,需要在方法名称后添加
()
:onclick="updateImpact()"
- 在 JS 中,您需要从
HTMLTextAreaElement
中获取.value
,该值是由.getElementById()
返回的。
function updateImpact(){
var impactAreas = document.getElementById("impactedAreas");
var impact = String(impactAreas.value); // <- here, `.value`
if (impact.indexOf("Customer") >= 0 ){
document.getElementById("custImpacted").checked = true;
}
}
<textarea id="impactedAreas" style="width: 500px; height: 60px"></textarea>
<input type="checkbox" id="custImpacted">
<!-- You was missing `()` after `updateImpact` -->
<input type="button" id="button" onclick="updateImpact()" value="click me">
关于javascript - 这个indexOf查询不起作用有什么原因吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58709999/