Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从回调函数设置HTML表单的参数值_Javascript_Html_Callback_Forms_Http Post - Fatal编程技术网

Javascript 从回调函数设置HTML表单的参数值

Javascript 从回调函数设置HTML表单的参数值,javascript,html,callback,forms,http-post,Javascript,Html,Callback,Forms,Http Post,我在不同网站的帮助下编写了以下代码。代码片段如下所示: function getLocation() { var visitorGeolocation = new geolocate(false, true, 'visitorGeolocation'); //Check for cookie and run a callback function to execute after geolocation is read either from cookie or IPInfoDB API

我在不同网站的帮助下编写了以下代码。代码片段如下所示:

function getLocation()
{
   var visitorGeolocation = new geolocate(false, true, 'visitorGeolocation');

//Check for cookie and run a callback function to execute after geolocation is read either from cookie or IPInfoDB API
   var callback = function()
    {
      var city=document.getElementById("city");
      city.value = visitorGeolocation.getField('cityName');
      alert('Visitor city name : ' + visitorGeolocation.getField('cityName'))
    };
visitorGeolocation.checkcookie(callback);
}
</script>
</head>
<body onload="getLocation()">
<form name="frm" method="post" action="result.jsp?page=1">
<input type="text" name="myQuery">
<input name="city" id="city" type="hidden" value="city">
<input type="submit" name="submit" value="Submit">
</form>
函数getLocation() { var visitorGeolocation=新地理位置(false、true、“visitorGeolocation”); //检查cookie并运行回调函数,以便在从cookie或IPInfoDB API读取地理位置后执行 var callback=function() { var city=document.getElementById(“城市”); city.value=visitorGeolocation.getField('cityName'); 警报('Visitor city name:'+visitorGeolocation.getField('cityName')) }; visitorGeolocation.checkcookie(回调); } 我想在提交表单时悄悄地传递city的值,这样我就可以在结果页面中获得city的值。这就是我将其类型设置为“隐藏”的原因。但我无法理解如何在提交表单时设置city的值,因为我在回调函数中获得city的值,如上所示。我不知道怎么做


我是网络编程新手。我对回调函数知之甚少。因此,如果有人帮助我解决这个问题,我将非常感激。多谢各位

我认为这是一个进退两难的问题,因为有一个

  • 带有
    值=城市
  • var city=document.getElementById(“城市”); city.value=visitorGeolocation.getField('cityName')

  • 然后我建议,删除
    value=“city”
    内部的
    ,删除
    name=“submit”value=“submit”
    ,或者如果必须更改文本按钮,则仅删除
    name=“submit”

    使用此功能:

    function getLocation()
    {
       var visitorGeolocation = new geolocate(false, true, 'visitorGeolocation');
    
    //Check for cookie and run a callback function to execute after geolocation is read either from cookie or IPInfoDB API
       var callback = function()
        {
          document.getElementById("city").value = visitorGeolocation.getField('cityName');
          alert('Visitor city name : ' + visitorGeolocation.getField('cityName'));
        };
    visitorGeolocation.checkcookie(callback);
    }
    

    请原谅但提醒('Visitor city name:'+VisitorGeology.getField('cityName'))打印城市是否正确?是的,先生,它打印城市是否正确。请原谅但提醒('Visitor city name:'+VisitorGeology.getField('cityName'))打印城市是否正确?如果这是一个被接受的答案,请把我的答案放在如何被接受的答案上……事实上,我已经用ipinfo.com找到了地理位置。非常感谢,先生:)谢谢你,现在我知道了这个网站ipinfo.com,现在在我的电脑功能上,你记得你必须有使用这个脚本的密钥,因为没有not功能,城市=未定义