如果密码不正确,我无法在文本框下方创建元素

以下代码存在问题:我尝试在 javascript 中创建一个元素,但每次执行单击时该元素都会出现和消失。


function hi() {

  let user = document.getElementById('username').value;

  let email = document.getElementById('email').value;

  let password = document.getElementById('password').value;

  let cpassword = document.getElementById('cspassword').value;


  if (user == "" || email == "" || password == "" || cpassword == "") {

    alert('no field can be left empty')

  } else if (password != cpassword) {

    let par = document.createElement('p');

    let text = document.createTextNode('passwords do not match');

    par.appendChild(text);

    document.querySelector('form').appendChild(par);

  } else {

    alert('welcome');

  }

}

<!DOCTYPE html>

<html>


<head>

  <title>forms</title>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-compatible" content="ie=edge">

</head>


<body>

  <form class="myform">

    <input type="text" placeholder="username" id="username" name="">

    <input type="email" placeholder="Email" id="email" name="email">

    <input type="password" placeholder="password" id="password" name="password">

    <input type="password" placeholder="cpassword" id="cspassword" name="cpassword">

    <button onclick="hi();">submit</button>

  </form>

  <script src="forms.js"></script>

</body>


</html>

如果密码不正确,预期的行为应该是创建一个段落。


小唯快跑啊
浏览 159回答 3
3回答

繁星coding

function hi(event) {&nbsp; let user = document.getElementById('username').value;&nbsp; let email = document.getElementById('email').value;&nbsp; let password = document.getElementById('password').value;&nbsp; let cpassword = document.getElementById('cspassword').value;&nbsp; if (user == "" || email == "" || password == "" || cpassword == "") {&nbsp; &nbsp; alert('no field can be left empty')&nbsp; } else if (password != cpassword) {&nbsp; &nbsp; let par = document.createElement('p');&nbsp; &nbsp; let text = document.createTextNode('passwords do not match');&nbsp; &nbsp; par.appendChild(text);&nbsp; &nbsp; document.querySelector('form').appendChild(par);&nbsp; &nbsp; event.preventDefault();&nbsp; &nbsp;// This will prevent page get refresh...&nbsp; } else {&nbsp; &nbsp; alert('welcome');&nbsp; }}<!DOCTYPE html><html><head>&nbsp; <title>forms</title>&nbsp; <meta charset="UTF-8">&nbsp; <meta http-equiv="X-UA-compatible" content="ie=edge"></head><body>&nbsp; <form class="myform">&nbsp; &nbsp; <input type="text" placeholder="username" id="username" name="">&nbsp; &nbsp; <input type="email" placeholder="Email" id="email" name="email">&nbsp; &nbsp; <input type="password" placeholder="password" id="password" name="password">&nbsp; &nbsp; <input type="password" placeholder="cpassword" id="cspassword" name="cpassword">&nbsp; &nbsp; <button onclick="hi(event);">submit</button>&nbsp; </form>&nbsp; <script src="forms.js"></script></body></html>

MMTTMM

代替button标签使用<input type="button" onclick="hi();" value="submit"/>请参阅按钮与输入类型按钮function hi(){let user = document.getElementById('username').value;let email = document.getElementById('email').value;let password = document.getElementById('password').value;let cpassword = document.getElementById('cspassword').value;if(user == "" || email == "" || password == "" || cpassword == "" ){&nbsp; alert('no field can be left empty')}else if(password != cpassword){&nbsp; let par = document.createElement('p');&nbsp; let text = document.createTextNode('passwords do not match');&nbsp; par.appendChild(text);&nbsp; document.querySelector('form').appendChild(par);}else {&nbsp; alert('welcome');}}<form class="myform">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="text" placeholder="username" id="username" name="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="email" placeholder="Email" id="email" name="email">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="password" placeholder="password" id="password" name="password">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="password" placeholder="cpassword" id="cspassword" name="cpassword">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="button" onclick="hi();" value="submit"/>&nbsp; &nbsp; &nbsp; &nbsp; </form>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript