【问题标题】:do not allow to reload the page when popup is started with javascript使用 javascript 启动弹出窗口时不允许重新加载页面
【发布时间】: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


【解决方案1】:

按钮的默认类型(如果省略)是提交,它会导致页面重新加载。只需将类型更改为按钮

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

【讨论】:

    【解决方案2】:

    我在 标签上遇到了同样的问题,我在其中添加了 type="button" 并解决了我的问题,感谢您的帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2017-03-03
      • 2013-09-15
      • 1970-01-01
      • 2017-03-10
      相关资源
      最近更新 更多