我有这个未捕获的referenceerror函数未定义的错误,不明白。

如果我有

$(document).ready(function(){
 function codeAddress() {
  var address = document.getElementById("formatedAddress").value;
  geocoder.geocode( { 'address': address}, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
   }
  });
 }
});


<input type="image" src="btn.png" alt="" onclick="codeAddress()" />
<input type="text" name="formatedAddress" id="formatedAddress" value="" />

当我按下按钮时,它将返回“未捕获的引用错误”。

但是,如果我将codeAddress()放在$ {document).ready(function(){}的之外,则它可以正常工作

我的意图是将codeAddress()放在document.ready.function中。

最佳答案

如何删除onclick属性并添加ID:

<input type="image" src="btn.png" alt="" id="img-clck" />

和您的脚本:
$(document).ready(function(){
    function codeAddress() {
        var address = document.getElementById("formatedAddress").value;
        geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
            }
        });
    }
    $("#img-clck").click(codeAddress);
});

这样,如果您需要更改函数名称或无需触摸html的任何内容。

关于javascript - 函数未定义-未捕获的referenceError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5067887/

10-08 23:31