带弹出窗口的javascript表单

时间:2018-02-22 02:17:54

标签: javascript forms

非常基本,我只是想了解如何使用简单的JavaScript 测试表单而不使用jQuery 等。尝试过W3Schools但没有工作。 因此,我尝试使用一个简单的表单而不是一个字段来获取它的工作方式。下面我在表单中放置一个字段,并认为我可以针对firstName字段测试fname变量。

但是会发生什么是警告永远不会在if语句中被命中。如何测试字段firstName?

任何提示都会有所帮助。



function validateForm() {
  var fname = document.getElementById("firstName");
  if (fname == "") {
    alert("first name is a mandatory field");
  } else {
    document.getElementById("formMessage").innerHTML = fname + " entered.";
  }
}

<h2>Question 1 validate with alert popups</h2>

<p>Please enter the following mandatory information</p>

<form name="identification">
  <p>First Name:<input type="text" id="firstName" /></p>
  <p>
    <button type="button" onclick="validateForm()">Submit</button>
  </p>
</form>

<p id="formMessage"></p>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

您正在比较元素本身。您应该检查元素的value

e.g。

var fname = document.getElementById("firstName").value;

答案 1 :(得分:0)

fname是你执行document.getElementById时的元素,所以你必须这样做:

function validateForm() {
            var fname = document.getElementById("firstName");
                if (fname.value == "") {
                    alert("first name is a mandatory field");
                } else {
                    document.getElementById("formMessage").innerHTML = fname.value + " entered.";
                }
            } 

如果用户输入一堆空格,您可能还想修剪fname.value。

答案 2 :(得分:0)

使用document.getElementById("firstName").value获取值。如果你不添加.value,则意味着它没有读取指定的值。