5秒后清除innerHTML

时间:2016-11-11 18:51:31

标签: javascript

我有以下代码它工作正常,但我想在5秒后清除innerHTML。不是每隔5秒,但是当它出现时,它会在5秒后再次清除。一旦!

function myfunction() {
  var x = document.forms["forma"]["emri"].value;
  var x1 = document.forms["forma"]["mbiemri"].value;
  var x2 = document.forms["forma"]["email"].value;
  var x3 = document.forms["forma"]["vendbanimi"].value;
  if ((x == null || x == "") || (x1 == null || x1 == "") || (x2 == null || x2 == "") || (x3 == null || x3 == "")) {
    document.getElementById("js").innerHTML = "Ju lutem ploresojini te gjitha te dhenat";
    return false;
  }
  if (x2.indexOf("@") < 1) {
    document.getElementById("js").innerHTML = "Ju lutem insertoni nje email te sakte";
    return false;
  }
}
<div class="forma">
  <center>
    <form class="form-orizontal" method="post" name="forma">
      <div class="input-prepend">
        <span class="add-on">e</span>
        <input class="span2" id="prependedInput" type="text" placeholder="emri" name="emri">
      </div>
      <br>
      <div class="input-prepend">
        <span class="add-on">mb</span>
        <input class="span2" id="prependedInput" type="text" placeholder="mbiemri" name="mbiemri">
      </div>
      <br>
      <div class="input-prepend">
        <span class="add-on">@</span>
        <input class="span2" id="prependedInput" type="text" placeholder="email" name="email">
      </div>
      <br>
      <div class="input-prepend">
        <span class="add-on">vb</span>
        <input class="span2" id="prependedInput" type="text" placeholder="vendbanimi" name="vendbanimi">
      </div>
      <br>
      <div class="input-prepend">
        <span class="add-on">V</span>
        <select name="viti_lindjes" class="small">
          <option style="display:none">Viti i lindjes</option>
          <option>1990</option>
          <option>1991</option>
          <option>1992</option>
          <option>1993</option>
          <option>1994</option>
          <option>1995</option>
          <option>1996</option>
          <option>1997</option>
        </select>
      </div>
      <div class="control-group">
        <div class="controls">
          <button type="submit" class="btn" name="submit" onclick="return myfunction()">Submit</button>
          <input type="reset" class="btn">
        </div>
      </div>
      <div id="js"></div>
    </form>
  </center>
</div>

3 个答案:

答案 0 :(得分:0)

您想要使用setTimeout()功能。

此代码适用于您的情况:

function myfunction() {
    var x = document.forms["forma"]["emri"].value;
    var x1 = document.forms["forma"]["mbiemri"].value;
    var x2 = document.forms["forma"]["email"].value;
    var x3 = document.forms["forma"]["vendbanimi"].value;   
    if ((x == null || x == "") || (x1 == null || x1 == "") || (x2 == null || x2 == "") || (x3 == null || x3 == "") ) {
    document.getElementById("js").innerHTML = "Ju lutem ploresojini te gjitha te dhenat";
    return false;
    }
    if (x2.indexOf("@") < 1) {
        document.getElementById("js").innerHTML = "Ju lutem insertoni nje email te sakte";
    return false;
    }   
    setTimeout(functionToDisappearInnerHTML(), 5000); //Sets a timer that starts the function in 5 seconds (5000 milliseconds)
}

function functionToDisappearInnerHTML() {
    document.getElementById("js").innerHTML = ""; //Clears the innerHTML
}

答案 1 :(得分:0)

伙计,我明白了。如果卸下括号,该文本将在五秒钟后消失。 改变这个:

setTimeout(functionToDisappearInnerHTML(), 5000);

对此:

setTimeout(functionToDisappearInnerHTML, 5000);

答案 2 :(得分:-1)

setTimeOut function waits for you

&#13;
&#13;
function appearing(){
  document.getElementById("inner").innerHTML = "Paragraph changed!";
  setTimeout(function(){ 
      document.getElementById("inner").innerHTML = "";
  }, 5000);
}
&#13;
<a href='#' onClick='appearing()'>Appear and disapper after 5 seconds</a>
<div id='inner'></div>
&#13;
&#13;
&#13;