Это связано с блокировщиком всплывающих окон вашего браузера.Если вы внимательно посмотрите на ошибку, она описывает «кнопку» отправки как проблему, а не строку mapValue.input.
У меня работает следующий код:
http://jsfiddle.net/WDFNL/
function openMapWindow (data) {
alert(data);
var mapForm = document.createElement("form");
mapForm.target = "Map";
mapForm.method = "POST"; // or "post" if appropriate
mapForm.action = "/map.php";
var mapInput = document.createElement("input");
mapInput.type = "text";
mapInput.name = "addrs";
mapInput.value = data;
mapForm.appendChild(mapInput);
document.body.appendChild(mapForm);
window.open("", "Map", "status=0,title=0,height=600,width=800");
mapForm.submit();
}
openMapWindow('-35.308401,149.124298-35.307841,149.124298');
Сначала я получил ошибку, которую вы описываете, но это было связано с моим блокировщиком всплывающих окон.После того как я разрешил jsfiddle.net разрешать всплывающие окна, он начал работать.
РЕДАКТИРОВАТЬ
Существует простой способ проверить это и предупредить пользователя, если его всплывающее окноблокировщик отключает карту:
http://jsfiddle.net/WDFNL/1/
function openMapWindow (data) {
var mapForm = document.createElement("form");
mapForm.target = "Map";
mapForm.method = "POST"; // or "post" if appropriate
mapForm.action = "/map.php";
var mapInput = document.createElement("input");
mapInput.type = "text";
mapInput.name = "addrs";
mapInput.value = data;
mapForm.appendChild(mapInput);
document.body.appendChild(mapForm);
map = window.open("", "Map", "status=0,title=0,height=600,width=800");
if (map) {
mapForm.submit();
} else {
alert('You must allow popups for this map to work.');
}
}
openMapWindow('-35.308401,149.124298-35.307841,149.124298');
Обратите внимание на переменную map
.Вы можете проверить его, чтобы увидеть, вернул ли window.open
дескриптор окна, и действовать соответственно в зависимости от результата.