0

やあ、

私は非常に奇妙な行動をしています(少なくとも、私はそれが奇妙だと思います...)

ユーザーが背景の色とテキストの色を選択できるページがあります。

私はインターネットでカラーピッカーを見つけました、そしてそれはすべてうまく機能しています...

しかし、ポップアップを開くたびに、ページがリロードされます。これをテストするために、スクリプトタグにアラートを追加しました。ページにアクセスしたとき、およびポップアップを開いたときにアラートを受け取りました...

ユーザーがポップアップを開くたびに行った変更が失われるため、これは非常に面倒です...

ポップアップを起動するボタンは次のとおりです。

<button onclick="PopUp(\'background\')">gebruik de color picker</button>

これはphp文字列の一部であるため、一重引用符がエスケープされることに注意してください。

これは関数PopUpです:

function PopUp(keuze){
    if(keuze == 'background'){
        $('#clicked_one').val('background');
        var de_waarde = $('#background_keuze').val();
        $('#clicked_value').val(de_waarde);
    }
    else if(keuze == 'text'){
        $('#clicked_one').val('text');
        var de_waarde = $('#text_keuze').val();
        $('#clicked_value').val(de_waarde);
    }
    window.open( './popup_color_picker.php', '_blank', 'width=500,height=500');
}

ポップアップページ:

<?php
include '../config.php';
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Color Picker</title>
        <script src="<?php echo $root_off_page; ?>javascript/color_picker.js"></script>
    </head>
    <body>
        <input type="text" class="color" id="color" value="">
        <button onclick="klaar()">deze kleur wordt het</button>
    </body>
</html>

<script>
    var wat_is_geklikt = opener.document.getElementById('clicked_one').value;
    var de_juiste_waarde = opener.document.getElementById('clicked_value').value;

    function klaar(){
        var de_gekozen_kleur = document.getElementById('color').value;
        if(wat_is_geklikt == 'background'){
            opener.document.getElementById('background_keuze').value = de_gekozen_kleur;
        }
        else if(wat_is_geklikt == 'text'){
            opener.document.getElementById('text_keuze').value = de_gekozen_kleur;
        }

        self.close()
    }

</script>

それで、メインページ(オープナー)がリロードする理由を誰かが見ていますか?

ありがとう

4

2 に答える 2

2

ボタンのデフォルトのタイプ (省略されている場合) は、ページのリロードを引き起こす送信です。タイプをボタンに変更するだけです

<button type="button" onclick="PopUp(\'background\')">gebruik de color picker</button> 
于 2012-05-10T06:08:56.440 に答える
0

< a > タグで同じ問題が発生していました。 type="button" を追加すると、問題が解決しました。助けてくれてありがとう!

于 2013-05-13T20:33:27.190 に答える