Javascript 按国家/地区代码隐藏的div
我不是一个php英雄,所以,如果用户不是来自特定国家,我会尝试隐藏一个部分 所以我这样做了:Javascript 按国家/地区代码隐藏的div,javascript,php,geolocation,Javascript,Php,Geolocation,我不是一个php英雄,所以,如果用户不是来自特定国家,我会尝试隐藏一个部分 所以我这样做了: $.get("http://ipinfo.io", function (response) { $("#country").html(response.country); }, "jsonp"); <input hidden id="country" type="text" name="country" value=""> $.get(“http://ipinfo.io“,功能(
$.get("http://ipinfo.io", function (response) {
$("#country").html(response.country);
}, "jsonp");
<input hidden id="country" type="text" name="country" value="">
$.get(“http://ipinfo.io“,功能(响应){
$(“#country”).html(response.country);
}“jsonp”);
这很有效,并向我显示国家代码(如IT)。
现在我尝试获取这个值并插入一个IF
$country = $_GET['country'];
$it = "IT";
<?php if ($country != $it): ?>
Code to hidden here...
<?php endif; ?>
$country=$\u GET['country'];
$it=“it”;
代码隐藏在这里。。。
这里怎么了?尝试通过javascript隐藏,ajax可以运行PHP脚本并将其带回DOM,但如果不需要后端脚本,最好使用JS
$.get("http://ipinfo.io", function (response) {
var country = $("#country").html(response.country);
if(country != "IT"){ document.getElementByID("country").display = "none";
}, "jsonp");
<input hidden id="country" type="text" name="country" value="">
$.get(“http://ipinfo.io“,功能(响应){
var country=$(“#country”).html(response.country);
如果(country!=“IT”){document.getElementByID(“country”).display=“无”;
}“jsonp”);
尝试通过javascript隐藏,ajax可以运行PHP脚本并将其带回DOM,但如果不需要后端脚本,最好使用JS
$.get("http://ipinfo.io", function (response) {
var country = $("#country").html(response.country);
if(country != "IT"){ document.getElementByID("country").display = "none";
}, "jsonp");
<input hidden id="country" type="text" name="country" value="">
$.get(“http://ipinfo.io“,功能(响应){
var country=$(“#country”).html(response.country);
如果(country!=“IT”){document.getElementByID(“country”).display=“无”;
}“jsonp”);
更改
$("#country").html(response.country);
到
因为php$\u GET
保存值
我也不认为有理由这样做:
$it = "IT";
<?php if ($country != $it): ?>
而不是php条件
在js中,你可以做这样的事情
<div class="content">
<!-- Your content here -->
</div>
$.get("http://ipinfo.io", function (response) {
if (response.country == "IT") {
$(".content").hide();
}
}, "jsonp");
那么我们在这里做什么呢?
我们检查国家代码是否等于“IT”。如果是真的,我们隐藏内容。这与您在php中所做的相同(如果国家不同,则显示内容)
编辑2
您可以删除div而不是隐藏它
$(".content").remove();
改变
到
因为php$\u GET
保存值
我也不认为有理由这样做:
$it = "IT";
<?php if ($country != $it): ?>
而不是php条件
在js中,你可以做这样的事情
<div class="content">
<!-- Your content here -->
</div>
$.get("http://ipinfo.io", function (response) {
if (response.country == "IT") {
$(".content").hide();
}
}, "jsonp");
那么我们在这里做什么呢?
我们检查国家代码是否等于“IT”。如果是真的,我们隐藏内容。这与您在php中所做的相同(如果国家不同,则显示内容)
编辑2
您可以删除div而不是隐藏它
$(".content").remove();
我使用的是ProcessWise cms,它有自己的API。所以这个答案只适用于cms。(最好的;)
我使用ProcessWise cms,它有自己的API。所以这个答案只适用于cms。(最好的一个;)
如何将$\u GET['country'];
从浏览器发送到服务器?服务器,在php页面中。您是否尝试过echo$country;
?是的,问题是,js和php以这种方式无法很好地通信。您可以发布更多code
。如何发送$\u GET['country']
从浏览器到服务器?服务器,在php页面中。您是否尝试过echo$country;
?是的,问题是,js和php在这种方式下无法很好地沟通。您可以发布更多代码
。我尝试了这个。这可能是一个很好的解决方案。我不能用这种方式编写?
,因为如果我有很多代码的话,会更容易如果我能给出不显示内容的条件。对AJAX做一些研究,因为PHP不能与js检索到的变量进行交互,但是如果我使用输入为PHP变量获取数据。这可以工作吗?我尝试了这个。这可能是一个很好的解决方案。我不能用这种方式编写?
,因为如果我有很多代码,则会是easier如果我能给出不显示内容的条件。对AJAX做一些研究,因为PHP不能与js检索到的变量进行交互,但是如果我使用输入为PHP变量获取数据。这可以工作吗?是的。val需要工作,但只有使用html我才能看到值。可能如果我使用val,我还需要在inpu中回显valt val标记,对吗?我必须隐藏input下的div,如果我使用input只是为了在php中获取val,那么中的内容是什么var@MarcoRomano不,如果您更改输入的值,您看到的内容也将更改。但此输入是隐藏的,因此您无法看到它。@Marcromano您不能有多个元素w使用页面上的samie id。好的,您可以执行$(“.content”).remove()
是的。val需要工作,但只有使用html我才能看到值。可能如果我使用val,我还需要在input val标记中回显val,对吗?我必须隐藏input下的div,如果我使用输入只是为了在php中获取val,那么中有什么var@MarcoRomano不,如果您更改输入值,您将看到lso更改。但此输入是隐藏的,因此您无法看到它。@MarcoRomano页面上不能有多个具有samie id的元素。好的,您可以执行$(“.content”).remove()