我有一个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')"
之类的东西,但是地理位置数据没有随表单一起发布/发送。如何获取地理位置脚本捕获的数据以表单形式发布到隐藏的输入中?
答案 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中删除#。