我有一个正常执行的javascript函数。当我转到更新表单(客户端)时,我得到了输入框的句柄,并且可以读取(警告)他们的值,但我无法设置它们......好吧它似乎没有将它们设置为客户端表单不会使用新值更新。
以下是有问题的一行:
document.getElementById("Address_AddyLat").value = results[0].geometry.location.lat();
如上所述,元素和结果都是有效的(警报)。我甚至尝试在那里硬编码一个值,但它没有用?
以下是完整的脚本:
function codeAddress()
{
var geocoder = new google.maps.Geocoder();
var addy1
......
geocoder.geocode({ 'address': fullAddress }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK)
{
document.getElementById("Address_AddyLat").value = results[0].geometry.location.lat();
document.getElementById("Address_AddyLong").value = results[0].geometry.location.lng();
}
else
{
alert("Geocode was not successful for the following reason: " + status);
}
});
}
这是呈现的html:
<input name="Address.AddyLat" class="t-input" id="Address_AddyLat" style="color: rgb(255,255,255);" type="text" data-val-required="Internal Error Address Latitude Required" data-val-number="The field Address Latitude must be a number." data-val="true" value="999.9999"/>
更多信息
添加类型没有任何区别,只是为了咯咯笑声我也通过警告输出:
OBJECT HTMLInputElement
我注意到的另一件事是服务器重新加载。是吧?我尝试手动调整值,它实际上抛出了一个错误。真正的问题没有关联,所以我在这里开了一个新问题。
Javascript local and global variables losing scope in callback function