嗨,
我有非常奇怪的行为(至少,我认为这很奇怪......)
我有一个页面,用户可以在其中选择背景颜色和文本颜色。
我在互联网上找到了一个颜色选择器,这一切都很好......
但是每次我打开弹出窗口时,页面都会重新加载。为了测试这一点,我在脚本标签中添加了一个警报,当我访问页面和打开弹出窗口时我收到了警报......
这很烦人,因为用户所做的更改将在每次打开弹出窗口时丢失......
这是触发弹出窗口的按钮:
<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>
那么有人看到为什么主页(开瓶器)重新加载的问题吗???
谢谢