JS函数被调用但没有结果

时间:2018-07-12 08:00:22

标签: javascript function

当我调用该函数时,它会被调用,但会闪烁结果。请问我犯了什么错误?

以下是我使用的HTML代码:

我已经将输入类型替换为按钮,但是仍然无法解决错误。

function reg() {
  //Name Field
  var f = document.forms["registration"]["fullname"].value;
  if (f == "") {
    alert("Enter the name");
    return false;
  } else if (!f.match(/^.[a-zA-Z]+$/))

  {
    alert("Enter only alphabets");
    return false;
  }
  document.getElementById('details').innerHTML = "Hi" + registration.fullname.value;
}
<form name="registration" onsubmit="return reg()">
  <input type="text" name="fullname" placeholder="Enter Your Full Name"><br><br>
  <input type="submit" value="submit">
</form>

1 个答案:

答案 0 :(得分:1)

这是我相信您想要做的。

请注意,最好在脚本中添加事件处理程序,而不要使用内联处理程序,但是现在我将表单本身传递给函数

function reg(form) {
  //Name Field
  var f = form.fullname.value;
  if (f == "") {
    alert("Enter the name");
    return false;
  }

  // no need for else when you return

  if (!f.match(/^[\. a-zA-Z]+$/)) { // I personally have a space in my full name
    alert("Enter only alphabets and space");
    return false;
  }
  document.getElementById('details').innerHTML = "Hi " + f;
  // change to true if you want to submit the form but you will then not be able to see the HI
  return false;
}
<form name="registration" onsubmit="return reg(this)">
  <input type="text" name="fullname" placeholder="Enter Your Full Name"><br><br>
  <input type="submit" value="submit">
</form>
<span id="details"></span>