JavaScript函数激活问题

时间:2017-02-09 09:43:12

标签: javascript android html button visibility

我有另一个问题,因为我最近开始使用js,所以我的想法很烦人,所以我的应用程序会很好地响应,但我在这里遇到了另一个阻止。

正如标题所说,我遇到了特定代码的严重问题。 以下是其摘要表格



window.onload = onLoadFunctions;

function onLoadFunctions(){
  var show3rdDiv = document.getElementById('show3rdDiv');
  var editbtnStart = document.getElementById('editbtnDiv');
  var editbtnLog = 0;
  
  editbtnStart.style.display = 'none';
  
  show3rdDiv.onclick = function(){
   document.getElementById('3rdDiv')className = "";
   if (editbtnLog == 1) {
  editbtnStart.style.display = 'block';
  }
  else {
  editbtnStart.style.display = 'none';
  }
  }
  }

function submitclick(){
  var uname = document.getElementById("login").elements[0].value;
  var upass = document.getElementById("login").elements[1].value;
  var preuname = "john";
  var preupass = "doe";
if (preuname == uname && preupass == upass) {
  editbtnLog = 1;
  document.getElementById('2ndDiv')className = "";
  alert("The user " + preuname + " was successfully loged in and editbtnLog wass set to: " + editbtnLog);
  }
  else {
    alert("Wrong Username or password!");
   }
}

.hidden {
  display:none;
  }

<div id="login">
  <form id="login">
  Username<input type"text" placeholder="name">
  Passowrd<input type"password" placeholder="password">
  <input type="submit" value="Submit" onclick="submitclick()">
  </form>
</div>
<div id="2ndDiv" class="hidden">
  <input type="button" id="show3rdDiv" value="Continue">
</div>
<div id="3rdDiv" class="hidden">
<div id="editbtnDiv">
        <input type="button" id="editbtn" value="Edit"/>
</div>
</div>
&#13;
&#13;
&#13; 无论我做什么,editbtn都不会出现或消失需要某物的物体应该做的事情。如果你注意到我用了它的div而不是?如果我只是使用输入按钮本身,它将永远不会出现。

有人请告诉我这是多么错误?

我尝试了很多风格而且我真的不想在我的HTML上使用onclick=""(请参阅我非常讨厌的提交按钮)因为人们说它不好使用它。我该怎么办?它已经像昨天一样烦人了。 我错过了什么吗?我说这个错了吗?毛茸茸的美人鱼已经在这个项目上失去了珍贵的眉毛。 &LT = [ 或者在显示编辑btn时,我应该坚持onclick=""的事情?

3 个答案:

答案 0 :(得分:0)

“id”属性是唯一的

window.onload = onLoadFunctions;

function onLoadFunctions(){
  var show3rdDiv = document.getElementById('show3rdDiv');
  var editbtnStart = document.getElementById('editbtnDiv');
  var editbtnLog = 0;
  
  editbtnStart.style.display = 'none';
  
  show3rdDiv.onclick = function(){
   document.getElementById('3rdDiv').className = "";//error
   if (editbtnLog == 1) {
  editbtnStart.style.display = 'block';
  }else {
  editbtnStart.style.display = 'none';
  }
  }
  }

    function submitclick(){
      var uname = document.getElementById("login").elements[0].value;
      var upass = document.getElementById("login").elements[1].value;
      var preuname = "john";
      var preupass = "doe";
    if (preuname == uname && preupass == upass) {
      editbtnLog = 1;
      document.getElementById('2ndDiv').className = "";//error
      alert("The user " + preuname + " was successfully loged in and editbtnLog wass set to: " + editbtnLog);
      }
      else {
        alert("Wrong Username or password!");
       }
    }
<div id="login1">
      <form id="login">
      Username<input type="text" placeholder="name">
      Passowrd<input type="password" placeholder="password">
      <input type="button" value="Submit" onclick="submitclick()">
      </form> 
</div>
    <div id="2ndDiv" class="hidden">
      <input type="button" id="show3rdDiv" value="Continue">
    </div>
    <div id="3rdDiv" class="hidden">
    <div id="editbtnDiv">
            <input type="button" id="editbtn" value="Edit"/>
    </div>
    </div>

答案 1 :(得分:0)

请检查脚本正确调用的天气。检查您定义脚本的行。

答案 2 :(得分:0)

就在几分钟前......(注意:这很令人尴尬!)我想通了。 (这不在上面提到的汇总代码中显示) 我创建了一个元素,可以像登录按钮一样更改其html值,如果您成功登录则会变为注销,如果您在其注销表单中单击它,则会更改回来,以便有一个循环。按钮的值发生了变化,所以我进行了一些实验,并意识到我可以将它们绑在一起。所以我做了。通过将onclick=""声明为show3rdDiv按钮并将起始类class="hidden"声明为editbtnDiv,并声明如果登录按钮的值为“login”,则会保留隐藏类,但如果它具有logout值,则删除该类。 我有时候太蠢了。 :/