【发布时间】:2013-05-14 04:33:27
【问题描述】:
喂,
我有非常奇怪的行为(至少,我认为这很奇怪......)
我有一个页面,用户可以在其中选择背景颜色和文本颜色。
我在互联网上找到了一个颜色选择器,一切正常...
但是每次我打开弹出窗口时,页面都会重新加载。为了测试这一点,我在脚本标签中添加了一个警报,当我访问页面和打开弹出窗口时我得到了警报...
这很烦人,因为用户所做的更改会在每次打开弹出窗口时丢失...
这是触发弹出窗口的按钮:
<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>
那么有没有人看到主页(打开器)重新加载的问题???
谢谢
【问题讨论】:
-
按钮是否包裹在表单中?
-
这种荷兰语、英语、HTML、PHP 和 Javascript 的组合与 taalen 的 mijn 理解完全不同。
-
@MikeRobinson 如此真实......
-
@Andreas ,是的,按钮在表单中。这是表单的代码:
标签: javascript popup reload