我有一个包含此代码的页面:
<span class="cbCoreFieldsAjaxValue">
<label id="hidetodo1" style="color: #e05817;">
<strong>Click here</strong>
</label>
</span>
当用户单击(是Ajax链接)时,代码变为:
<span class="cbCoreFieldsAjaxValue" style="display: inline-block;">Yes</span>
我想在值为Yes时执行页面重新加载/刷新。我想有必要使用这样的东西:
if {
document.getElementById('hidetodo1').value="Yes";
location.reload();
}
但这当然不起作用,因为我对javascript的了解太差了: - (
我无法访问所有html,但如果需要,我可以进行一些修改。
有人可以帮忙吗?
感谢
答案 0 :(得分:0)
在<span class="cbCoreFieldsAjaxValue">
内使用:
<label id="hidetodo1" style="color: #e05817;">
<strong>Click here</strong>
</label>
点击之前之类的:
<label id="hidetodo1" style="color: #e05817;">Yes</label>
点击后。
然后:
if (document.getElementById('hidetodo1').innerHTML == "Yes"){
location.reload();
}
(如果您在脚本中使用id="hidetodo1"
用于任何其他目的,请确保此新代码不会导致任何问题,因为ID“hidetodo1”在单击后仍处于停留状态。)
答案 1 :(得分:0)
您的if语句不正确。 if语句缺少条件
if /*WHERE IS THE CONDITIONAL STATEMENT??*/
{
document.getElementById('hidetodo1').value="Yes";
location.reload();
}
我认为你在寻找的是:
if (document.getElementById('hidetodo1').value=="Yes") //When the value is "Yes"
{
location.reload();//Reload the current page
}
<强> UPD 强>:
根据评论, hidetodo1 元素是<label>
- 标签没有值属性。
我猜您错过了代码中的文本框。在标签后添加文本框的html代码,并使用getElementById参数中文本框的 id 。
答案 2 :(得分:0)
我建议您在XHR请求的成功处理程序中执行window.location.reload()
。那将是最好的事情。
但是正如你的问题所说:你想在改变跨度内容时重新加载页面,这里有一些你可能喜欢/有用的点。
再一次,最佳做法是在成功处理程序中执行(重新加载)。