在javascript警告框中显示动态值

时间:2014-11-28 10:41:43

标签: javascript

在确认框中显示动态值。这就是我希望它如何工作,但它没有。谁能告诉我它是如何正确完成的。

<script type='text/javascript'>
    setTimeout(function(){
        var url = document.URL;
        var r = confirm("Your session is about to be timedout in " + for (var i = 10; i > 0; i--){ i } + " seconds! Would you like to logged in?");
        if (r == true) {
            location = url;
        } else {
            location = '../logoff.php'
        }
    }, 10000)
</script>

2 个答案:

答案 0 :(得分:1)

除了有缺陷的字符串连接逻辑外,您无法在标准确认框中实现此功能。该框在实例化时设置,无法更改。

要做你需要的东西,你需要使用一些你有HTML / JS控制的描述的模态插件。

答案 1 :(得分:0)

这是一个解决方法的例子:

$(function() {
  var out = $('#out'),
    sec;
  (function() {
    var th = setInterval(function() {
      sec = parseInt(out.text()) || 0;
      if (!sec) {
        clearInterval(th);
        timeout();
      } else {
        sec--;
        out.text(sec);
      }
    }, 1000);
  })();

  var timeout = function() {
    if ($('#in').prop('checked')) {
      alert('login ...');
    } else {
      alert('don\'t login ...');
    }
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<center>
  <h2>Your session is about to be timedout in <span id="out">10</span> seconds! Would you like to logged in?
  <br/>
  <input type='checkbox' id='in'/>Yes
    </h2>
</center>