jquery - 谷歌地图 : openInfoWindowHtml with jquery problem

标签 jquery google-maps

我增加了用户在我的谷歌地图上添加新点的功能。我的代码:

GEvent.addListener(map, "click", function(overlay,point) {
    if (point) {
        var myHtml = '<div id="addpoint"><form id="formadd" name="formadd_point" enctype="multipart/form-data" method="post" action="pointadd.php"><table><tr><td>Place:</td><td>' + point + '</td></tr><tr><td>Name:</td><td><input name="name" type="text" size="32" maxlength="200" /></td></tr><tr><td>Photo (jpg,png:2Mb):</td><td><input type="file" name="image" size="20" accept="image/png,image/jpeg" /></td></tr><tr><td></td><td><input name="pcoord" type="hidden" value="'+point+'" /><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><input name="subpoint" type="submit" value="Add" /></td></tr></table></form></div>';
        map.openInfoWindowHtml(point, myHtml);
        $('#formadd').ajaxForm({ beforeSubmit: validate, target:'#addpoint' });
    }
});

应该是AJAX post,无需重新加载。但它不起作用!我不知道为什么。也许 jquery.js 和 google api 有一些冲突?如何在不重新加载页面的情况下提交表单?

最佳答案

也许您尝试在表单 html 成功添加 dom 之前向表单添加 eventListener。试试这个:

GEvent.addListener(map, "click", function(overlay,point) {
    if (point) {
        $('#formadd').live("load", function(){
            $(this).ajaxForm({ beforeSubmit: validate, target:'#addpoint' });
        });

        var myHtml = '<div id="addpoint"><form id="formadd" name="formadd_point" enctype="multipart/form-data" method="post" action="pointadd.php"><table><tr><td>Place:</td><td>' + point + '</td></tr><tr><td>Name:</td><td><input name="name" type="text" size="32" maxlength="200" /></td></tr><tr><td>Photo (jpg,png:2Mb):</td><td><input type="file" name="image" size="20" accept="image/png,image/jpeg" /></td></tr><tr><td></td><td><input name="pcoord" type="hidden" value="'+point+'" /><input type="hidden" name="MAX_FILE_SIZE" value="2000000" /><input name="subpoint" type="submit" value="Add" /></td></tr></table></form></div>';
        map.openInfoWindowHtml(point, myHtml);

    }
});

关于jquery - 谷歌地图 : openInfoWindowHtml with jquery problem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164911/

相关文章:

javascript - 未捕获的 InvalidValueError : initMap is not a function

python - Google App Engine 中的 Google map 上未显示标记

android - 使用 Android GPS 防止估计到达时间退化

javascript - jQuery,使用 <span> 标记内的特定列值计算数据表(包括所有页面)中的行数。其中 Datatable 有 AJAX 源

c# - jQuery.ajax "data"参数语法

JQuery 对话框初始化

google-maps - 在 Google map 上显示文字

javascript - 使用 jQuery 触发动态自定义事件

javascript - 我如何在我的客户端 javascript 中需要一个 Node 模块?

java - 谷歌地图在 Android 中的选项卡 fragment 上显示灰色