Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 谷歌地图信息窗口内未触发TextBox按键事件_Javascript_Jquery_Google Maps - Fatal编程技术网

Javascript 谷歌地图信息窗口内未触发TextBox按键事件

Javascript 谷歌地图信息窗口内未触发TextBox按键事件,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我试图在谷歌地图信息窗口内的文本框中只允许使用有效字符。“keypress”事件未激活。请帮我解决这个问题 google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) { var polylength=polygon.getPath().getArray().length; var lastarray=polygon.getPath().getAt(poly

我试图在谷歌地图信息窗口内的文本框中只允许使用有效字符。“keypress”事件未激活。请帮我解决这个问题

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {

        var polylength=polygon.getPath().getArray().length;
        var lastarray=polygon.getPath().getAt(polylength-1);

            vertex=polygon.getPath().getArray();
        var contentString="<form id='myform'>Name:<input name='cname' id='cname' type='text' size='50'></input><br>Address<input name='addr' id='addr' type='text' size='50'></input><br><input type='button' value='submit' onclick='save();'></input></form>";
        infowindow = new google.maps.InfoWindow({
            content: contentString,
            });
        infowindow.setPosition(lastarray);
        infowindow.open(map);
    }); 

$('input').bind('keypress', function(event){
                 alert("pressed");
                var regex = new RegExp("^[a-zA-Z0-9 ]+$");
                var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
                if (!regex.test(key)) {
                   event.preventDefault();
                   return false;
                }
        });
google.maps.event.addListener(drawingManager,'polygoncomplete',函数(polygon){
var polylength=polygon.getPath().getArray().length;
var lastarray=polygon.getPath().getAt(polylength-1);
顶点=多边形。getPath().getArray();
var contentString=“名称:
地址
”; infowindow=新建google.maps.infowindow({ content:contentString, }); infowindow.setPosition(lastarray); 打开(地图); }); $('input').bind('keypress',函数(事件){ 警惕(“按下”); var regex=new RegExp(“^[a-zA-Z0-9]+$”; var key=String.fromCharCode(!event.charCode?event.which:event.charCode); 如果(!正则表达式测试(键)){ event.preventDefault(); 返回false; } });
当您将事件侦听器绑定到
输入
字段时,
输入
字段尚未创建。您需要在
信息窗口
上添加事件侦听器,然后
绑定
按键侦听器:

infowindow = new google.maps.InfoWindow({
     content: contentString,
});
google.maps.event.addListener(infowindow , 'domready', function(){
    $('#myform input').bind('keypress', function(event){
             alert("pressed");
            var regex = new RegExp("^[a-zA-Z0-9 ]+$");
            var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
            if (!regex.test(key)) {
               event.preventDefault();
               return false;
            }
    });
});