2012-05-09 9 views
0

のHy、は、私が持っている</p> <p>(少なくとも、私は...それは奇妙だと思う)私はverry奇妙な行動を持っているポップアップはJavaScript

で開始されたときにページをリロードすることはできません。ページでは、ユーザーが背景の色とテキストの色を選択できます。

、ページのリロードを私は、インターネット上のカラーピッカーを見つけた、それがすべてうまく...

作業が、私はポップアップを開くたびます。これをテストするために、スクリプトタグにアラートを追加しました。ページにアクセスしてポップアップを開くと警告が表示されます...

これは、ユーザーが行った変更が過去に失われるためです。単一引用符をエスケープしている理由ですので

......、これはPHPの文字列の一部であることを

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

注:彼らはここで

は、ポップアップを起動するボタンである...ポップアップを開きます

これはPopUp:

012の機能です
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> 

だから、誰もが問題を見ない理由メインページ(オープナー)リロード???

おかげ

+1

ボタンはフォームにラップされていますか? – Andreas

+0

オランダ語、英語、HTML、PHP、およびJavascriptのこの組み合わせは、taalenのmijn verstandingに悩まされています。 –

+0

@MikeRobinson本当に... – Mathlight

答えて

2

(省略された場合)、ボタンのデフォルトのタイプは、ページのリロードを引き起こす提出しています。ちょうど私が<>タグと同じ問題を抱えていたボタン

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

それはやったことです。ありがとう:P – Mathlight

0

にタイプを変更し、私はそれにタイプ=「ボタン」を追加し、それは、助けに感謝し、私の問題を修正しました!

関連する問題