如何停止刷新页面?
Posted
技术标签:
【中文标题】如何停止刷新页面?【英文标题】:how to stop refreshing of the page? 【发布时间】:2015-09-25 11:16:30 【问题描述】:实际上我已经编写了一段用于检测地理位置的代码,并且基于该地理位置,货币会发生变化并且它也在工作,但是这里的问题是,这段代码一次又一次地刷新整个页面,如果我删除了其他部分如果我保持这种状态,页面就会刷新,否则条件不起作用,有人可以建议我如何阻止我写的这个
<script type="text/javascript">
//alert("Welcome to our visitors from "+geoplugin_currencyCode());
alert("Welcome to our visitors from "+geoplugin_countryName());
$flag=false;
if($flag===false)
var country = geoplugin_countryName();
if(country === 'India')
$('#currency input[name=\'code\']').attr('value', 'INR');
$('#currency').submit();
alert('Your currency is set to INR');
else
$('#currency input[name=\'code\']').attr('value', 'USD');
$("#currency").change();
alert('Your currency is set to USD');
else
return false;
</script>
【问题讨论】:
我尝试使用您的代码 - 我的 peage 不会自动重新加载。哪个代码刷新了您的页面? 如果没有删除它,你是否删除了其他部分并尝试在我的页面中重新加载它,我在 opencart 中使用它 你有不止一个...我假设你的意思是包含return false;
的 else 对吗?
是的,当我删除它时返回 false,它会不断重新加载
这个元素$("#currency")
是什么?是表格吗?
【参考方案1】:
试试
$(function()
alert("Welcome to our visitors from "+geoplugin_countryName());
$flag=false;
if($flag===false)
var country = geoplugin_countryName();
if(country === "India")
$("#currency input[name=\'code\']").attr("value", "INR");
$("#currency").submit();
alert("Your currency is set to INR");
return false;
else
$("#currency input[name=\'code\']").attr("value", "USD");
$("#currency").change();
alert("Your currency is set to USD");
return false;
else
return false;
);
【讨论】:
你能说一下 - 你的代码中的“国家”变量是什么值? 其实这是我用来获取国家名称的插件 如果你注释掉这个 $("#currency").submit(); 实际上会发生什么它不会改变我的意思是货币的符号 当然,尝试取消注释此行。 如果取消注释它的重装是否有其他方法可以做到这一点【参考方案2】:您的代码很好,但您必须以不同的方式处理它。首次加载页面时,假设您将国家/地区设置为India
。所以现在转到if(country === "India")
代码执行$("#currency").submit();
行并提交表单。因此,一旦提交表单,您必须设置 INR
值可能在隐藏字段中。然后您可以添加一行代码来验证隐藏字段是否具有INR
值。如果它的值为INR
,则不要执行代码。
假设您有 ID 为 currency_code
的隐藏字段。因此,现在在表单提交您从$("#currency input[name=\'code\']")
发布的任何值之后,只需在#currency_code
输入隐藏字段中设置该值即可。
现在在您的代码中检查该条件。
<script type="text/javascript">
//alert("Welcome to our visitors from "+geoplugin_currencyCode());
alert("Welcome to our visitors from "+geoplugin_countryName());
$flag=false;
if($flag===false)
var country = geoplugin_countryName();
if(country === 'India')
if($('#currency_code') !== 'INR')
$('#currency input[name=\'code\']').attr('value', 'INR');
$('#currency').submit();
alert('Your currency is set to INR');
else
alert('Your currency is already set to INR');
else
$('#currency input[name=\'code\']').attr('value', 'USD');
$("#currency").change();
alert('Your currency is set to USD');
else
return false;
</script>
我不确定您的所有 html 代码。但这是您处理问题的方式。希望这会对你有所帮助。
【讨论】:
以上是关于如何停止刷新页面?的主要内容,如果未能解决你的问题,请参考以下文章