我有一个执行良好的 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"/>
更多信息
添加类型没有任何区别,只是为了咯咯笑,我还通过警报输出了它:
对象 HTMLInputElement
我注意到的另一件事是服务器进行了重新加载。嗯?我尝试手动调整该值,但实际上会引发错误。真正的问题不相关,所以我在这里打开了一个新的问题。