将jquery / ajax数据发布到隐藏字段

时间:2018-06-22 12:45:47

标签: php jquery

我有一个jquery / ajax地理位置脚本,该脚本输出以下数据:

$.ajax({
        url: "https://geoip-db.com/jsonp",
        jsonpCallback: "callback",
        dataType: "jsonp",
        success: function( location ) {
            $('#country').html(location.country_name);
        }
    });

我正在尝试在提交表单的其余部分时将其包含在php表单的隐藏字段中。但是到目前为止,我似乎还无法获取地理定位脚本的数据与表单一起提交。

php表单处理程序的重要部分是:

Country: " . $_POST['field_7'] . " 

在html表单中,我尝试过:

<input type="hidden" name="field_7" id="#country" value=''>

还有其他类似value="$('#country')"之类的东西,但是地理位置数据没有随表单一起发布/发送。如何获取地理位置脚本捕获的数据以表单形式发布到隐藏的输入中?

3 个答案:

答案 0 :(得分:3)

从输入字段中删除#。

<input type="hidden" name="field_7" id="country" value=''>

然后在您的JS中,将html替换为val

$.ajax({
    url: "https://geoip-db.com/jsonp",
    jsonpCallback: "callback",
    dataType: "jsonp",
    success: function( location ) {
        $('#country').val(location.country_name);
    }
});

答案 1 :(得分:1)

尝试以下代码:

$.ajax({
        url: "https://geoip-db.com/jsonp",
        jsonpCallback: "callback",
        dataType: "jsonp",
        success: function( location ) {
            $('#country').val(location.country_name);
        }
    });


<input type="hidden" name="field_7" id="country" value=''>

答案 2 :(得分:1)

您只需要零钱

val而不是html

$('#country').val(location.country_name); // use val

和html

从输入字段ID中删除#。