Javascript弹出窗口,在一个页面上工作,但在另一个页面上不工作

时间:2012-12-20 15:43:03

标签: javascript

我的网站的几个页面上都有一个javascript弹出窗口。我使用了Center a popup window on screen?

上找到的居中弹出窗口
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天了: - (

2 个答案:

答案 0 :(得分:3)

你没有定义“title”params befor传递给它的功能。 试着改变这个:

<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> 

答案 1 :(得分:1)

您似乎需要将title更改为其他内容,因为标题是表单中的元素。

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