0

我网站的几个页面上有一个 javascript 弹出窗口。我使用了在屏幕上居中弹出窗口中找到的居中弹出窗口?

function popupwindow(url, title, w, h) {
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}

此弹出窗口适用于某些页面,但不适用于其他页面...

我制作了 2 页来显示,在第一页上弹出窗口有效
http://www.weddingpages.nl/test1.php
在第二页上弹出窗口不起作用:
http ://www.weddingpages.nl/test2 .php

页面的来源完全相同(复制、粘贴),只是在第二页我删除了表单。

因此,如果我理解正确,这个弹出式 JavaScript 仅在页面上还有表单时才有效?

这是弹出窗口工作的页面的代码:

<!DOCTYPE html>
<html>
    <head>
        <title>test1</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

        <script type="text/javascript">
            function popupwindow(url, title, w, h) {
                var left = (screen.width/2)-(w/2);
                var top = (screen.height/2)-(h/2);
                return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
            }
        </script>
    </head>
    <body>
        <form class="form-horizontal" action="" method="post">
            <div class="control-group">
                <label class="control-label" for="title">Naam website / bedrijf:</label>
                <div class="controls">
                    <input type="text" class="span3" id="title" name="title" placeholder="Naam website / bedrijf">
                </div>
            </div>
            <div class="control-group">
                <div class="controls">
                    <button type="submit" name="submit" class="btn">Gegevens opslaan</button>
                </div>
            </div>
        </form> 
        <a href="javascript:popupwindow('http://www.google.com/', title, 1400, 700)">centered Pop up window</a> 
    </body>
</html>

因此,如果您删除表单,javascript 将停止工作。

有没有人可以告诉我为什么?我试图找到解决方案已经将近 2 天了:-(

4

2 回答 2

3

在将其传递给函数之前,您没有定义“标题”参数。尝试改变这一点:

<a href="javascript:popupwindow('http://www.google.com/', title, 1400, 700)">centered Pop up window</a> 

有了这个

<a href="javascript:popupwindow('http://www.google.com/', 'real title', 1400, 700)">centered Pop up window</a> 
于 2012-12-20T15:46:56.570 回答
1

看起来您需要更改title为其他内容,因为标题是您表单中的一个元素。

<a href="javascript:popupwindow('http://www.google.com/', title, 1400, 700)">centered Pop up 
window</a> 
于 2012-12-20T15:47:52.893 回答