Javascript 如何从GMaps信息窗口触发jQuery
我想从GMap信息窗口触发jQuery。我的GMap有以下代码: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 =
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
绑定,很高兴知道。