Javascript 按国家/地区代码隐藏的div

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“,功能(

我不是一个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“,功能(响应){
$(“#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()