0

Web サイトのいくつかのページに 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
と 2 番目のページではポップアップは動作しません:
http://www.weddingpages.nl/test2 .php

ページのソースはまったく同じ (コピー、貼り付け) ですが、フォームを削除した 2 ページ目だけです。

私の理解が正しければ、このポップアップ 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

titletitle はフォームの要素であるため、別のものに変更する必要があるようです。

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