当我将它插入回声中时,我无法点击按钮..
echo '<input onclick="window_target = document.basicForm.maparea1;
window_name = window.open("search.php",
"window_name",
"resizable=0,location=0,directories=0,status=0,top=30,left=100,toolbar=no,width=180,height=480,menubar=no,scrollbars=no"
);
window_name.window_target = window_target
" value="Select" type="button">';
答案 0 :(得分:3)
欢迎使用现代JS:尽量不要使用onclick
,或者直接嵌入HTML中的任何on...
处理程序。相反,生成您的页面以执行以下操作:
<!doctype html>
<html>
<head>...</head>
<body>
<input type="..." id="spawnClickerThing" ...>
...
<script src="mypagescript.js"></script>
</body>
</html>
(所以不是PHP echo /打印!)然后在那个javascript include中,做所有的事件绑定等等:
...
function newWindowHandling(avt) {
var window_target = document.basicForm.maparea1;
var window_name = window.open("search.php", "window_name", "...");
window_name.window_target = window_target;
}
function setEverythingUp() {
document.removeEventListener("DOMContentLoaded", setEverythingUp);
var inputclicker = document.querySelector("#spawnClickerThing");
inputclicker.addEventListener("click", newWindowHandling);
}
document.addEventListener("DOMContentLoaded", setEverythingUp);
取决于您是否使用库来获得更高效的JavaScript,可以压缩该代码,但一般原则仍然适用。不要使用PHP注入JS“内联”,它非常脆弱且无法维护。将脚本保存在易于编辑的.js文件中,与生成页面HTML源代码的.php脚本无关。
答案 1 :(得分:1)
转义引号
echo '<input onclick="window_target = document.basicForm.maparea1; window_name = window.open(\'search.php\', \'window_name\', \'resizable=0,location=0,directories=0,status=0,top=30,left=100,toolbar=no,width=180,height=480,menubar=no,scrollbars=no\'); window_name.window_target = window_target" value="Select" type="button">';
答案 2 :(得分:0)
你可以通过这种方式工作,你必须使用
你必须在你的javascript中使用这样的。我假设你有jquery包括
$(document).on('click', '.btninline' ,function() {
window_target = document.basicForm.maparea1;
window_name = window.open("search.php", "window_name","resizable=0,location=0,directories=0,status=0,top=30,left=100,toolbar=no,width=180,height=480,menubar=no,scrollbars=no");
window_name.window_target = window_target;
}
然后在你的php中
echo '<input class="btninline" value="Select" type="button">';