2012-05-09 2 views
0

Hy,не позволяет перезагрузить страницу, если всплывающее окно начинается с JavaScript

У меня Веррите странное поведение (по крайней мере, я думаю, что это странно ...)

У меня есть где пользователи могут выбирать цвет фона и цвет текста.

Я нашел пипетку в Интернете, и что работает все нормально ...

Но каждый раз, когда я открыть всплывающее окно, в перезагрузке страницы. Чтобы проверить это, я добавил предупреждение в теги скриптов, и я получил предупреждение, когда я присоединяюсь к странице, и когда я открываю всплывающее окно ...

Это ужасно раздражает, потому что изменения, внесенные пользователями, будут потеряны когда-либо они открывают всплывающие окна ...

Вот кнопка, которая запускает всплывающее окно:

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

Так ли кто-нибудь увидеть проблему, почему на главной странице (новичке) перезагружается ???

Благодаря

+1

Является ли кнопка завернутой в форму? – Andreas

+0

Эта комбинация голландского, английского, HTML, PHP и Javascript завинчивается с mijn verstanding of taalen. –

+0

@MikeRobinson так верно ... – Mathlight

ответ

2

Тип кнопки (если опущена) по умолчанию отправить которое вызывает перезагрузку страницы. Просто измените тип на кнопку

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

Это сделало трюк. Спасибо: P – Mathlight

0

У меня была такая же проблема с < тег>, я добавил типа = «кнопку», что и фиксируется мой вопрос, спасибо за помощь!

Смежные вопросы