【问题标题】:Alerts, prompts, and a final alert警报、提示和最终警报
【发布时间】:2016-04-21 12:17:07
【问题描述】:

我不知道如何让我的代码提示用户至少 3 次,单击按钮 仅一次,然后提示,如果用户没有输入内容,则显示警报,再次提示,然后提醒,再次提示,然后提醒...一旦用户键入内容失败 3 次,则在单击最终提醒后显示最终提醒,如 “不再尝试!”,DIV背景颜色变成灰色,有人可以帮我吗?我知道如何将 DIV 背景变成灰色,我的问题是我认为应该是一个循环(提示,警报,提示,警报)

var mObjt = {
  userInput: "",

  setInput: function() {
    document.getElementById("div1").innerHTML = mObjt.userInput;
  },

  conRequest: function() {
    if (mObjt.userInput != "") {
      mObjt.setInput();
    } else {
      alert("There is no input!");
      mObjt.popRequest();
    }
  },

  popRequest: function() {
    mObjt.userInput = prompt("Enter a word:");
    mObjt.conRequest();
  }
}
<div id="div1" style="width:200px; height:30px; border:1px solid;"></div>
<button type="button" onClick="mObjt.popRequest()">Add Property</button>

【问题讨论】:

  • 为什么要使用这些警报和提示进行编程?出于安全原因,浏览器允许您阻止来自站点的重复提示

标签: javascript html loops prompt


【解决方案1】:

你可以通过一个简单的循环来实现它。

var prompting = function () {

    for (var i = 0; i < 3; i++) {

        mObjt.userInput = prompt("Enter a word:");

        if (mObjt.userInput == "") {

            if (i != 2) alert("You must enter a value");
            else alert("No more attempts");

        else {

            mObjt.setInput();
            return;
        }
    }
}

【讨论】:

    【解决方案2】:

    这是一个脚本块,应该可以执行您想要执行的操作。

    var mObjt = {
    userInput: "",
    
    setInput: function(){
        document.getElementById("div1").innerHTML = mObjt.userInput;},
    
    popRequest: function(){ 
    var attempts = 0;
    
    while (attempts < 3 && mObjt.userInput === "") {
        attempts++;
        mObjt.userInput = prompt("Enter a word:");
        if (mObjt.userInput === "")
            alert("You must enter a value");
    }
    if (mObjt.userInput === ""){
        alert("No more attempts");
        //disable work
    } else {
        mObjt.setInput();
    }
    
    }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 2018-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 2023-03-11
      相关资源
      最近更新 更多