Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 如何从GMaps信息窗口触发jQuery_Javascript_Jquery_Google Maps - Fatal编程技术网

Javascript 如何从GMaps信息窗口触发jQuery

Javascript 如何从GMaps信息窗口触发jQuery,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我想从GMap信息窗口触发jQuery。我的GMap有以下代码: var theContent = "<form action='#' method='post' onSubmit='return false;'><input type='text' name='firstname' />"; theContent += "<input type='submit' value='Save' /></form>"; var infowindow =

我想从GMap信息窗口触发jQuery。我的GMap有以下代码:

var theContent = "<form action='#' method='post' onSubmit='return false;'><input type='text' name='firstname' />";
theContent += "<input type='submit' value='Save' /></form>";

var infowindow = new google.maps.InfoWindow({       
    content: theContent
});
infowindow.open( map, marker);
var theContent=“”;
内容+=”;
var infowindow=new google.maps.infowindow({
内容:内容
});
信息窗口。打开(地图、标记);
以下是jQuery的代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type='text/javascript'>
    $(document).ready(function() {
        $('form').bind('submit',function() {
            var str = $('form').serialize();

            $.ajax({
                type: "POST",
                url: "save.php",
                data: str,
                success: function(msg){
                    alert('Saved!');
                }
            });

            return false; //so the page won't refresh
        });
    });
</script>

$(文档).ready(函数(){
$('form').bind('submit',function(){
var str=$('form').serialize();
$.ajax({
类型:“POST”,
url:“save.php”,
数据:str,
成功:功能(msg){
警报(“已保存!”);
}
});
return false;//因此页面不会刷新
});
});
问题是,我对infowindow文本框的输入没有保存,这就是为什么我认为jQuery没有在GMAPInfoWindow/bubble中触发

当我尝试GMap之外的表单时,它运行良好


谢谢你的帮助

何时创建信息窗口,即何时执行顶层脚本?这里没有足够的信息,但一个可能的原因可能是您试图在表单创建之前使用jQuery绑定到表单提交


创建信息窗口后,尝试绑定到表单。

现在,jQuery代码在文档准备就绪时绑定到表单,但不一定是在信息窗口打开时绑定到表单。因此,当infowindow甚至不是DOM的一部分时,就有可能绑定到表单,这是不可能的。您需要:

  • 调用
    $('form')。在
    信息窗口之后立即绑定(…)
    。打开(…)
  • $('form').bind(…)
    更改为
    $('form').live(…)
    。这将针对页面上所有当前和将来的表单
    感谢您的回复@PirateKitten,infowindow在my window中执行。onload=function(){initialize();};同样的感觉,但提供了方便的代码示例。我实际上没有意识到
    .live
    绑定,很高兴知道。