验证javascript中的输入值

时间:2019-03-10 13:10:32

标签: javascript html

  

我正在尝试在输入字段中使用验证作为员工薪水   来计算表格。

计算代码可以正常工作,但是在进行计算之前无法验证输入字段。

这里是代码。

function validateForm() {
  var x = document.forms["myForm"]["employeename"]["employeeno"].value;
  if (x == "") {
    alert("Please fill up Empty field");
    return false;
  }
}

function paySalary() {
    var employeeName = document.getElementById("employeename").value;
	var employeeNo = document.getElementById("employeeno").value;
    var employeeHours = document.getElementById("hours").value;
	var HoursRate = document.getElementById("rate").value;

    if (employeeHours <= 40) {
      var regtime = HoursRate * employeeHours;
      var overtime = 0.00;
      var salary = regtime;
    } else if (employeeHours > 40) {
       var regtime = (HoursRate * 40);
       var overtime = ((HoursRate * 1.5) * (employeeHours - 40));
       var salary = (regtime + overtime);
    }
	alert("Paid ammout for " + employeeName + " is for RM " + salary );
}
<body>
<form name="myForm" action="" onsubmit="return checkForm(this)" method="post">
<label>Employee Name :</label>
<input id="employeename" value=""><br>

<label>Employee No   :</label>
<input id="employeeno" value=""><br>

<label>Rate of pay   :</label>
<input id="rate" value=""><br>

<label>Hours Work    :</label>
<input id="hours" value=""><br>

<br>
<button id="submit" onclick="paySalary()" >Submit</button>
</form>
<br>
<br>
</body>

1 个答案:

答案 0 :(得分:0)

一旦单击“提交”按钮,并且在表单验证之前,将执行paySalary()函数。您可以做的是在paySalary()函数中编写validateForm()。如果条件通过测试,则继续。.

function validateForm() {

  var x = document.getElementById("employeeno").value;
  if (x == "") {
    alert("Please fill up Empty field");
    return false;
  }
  return true;
}

function paySalary() {
    // If the form is not valid: stop execution
    if(!validateForm()) {
      return;
    }
    
    var employeeName = document.getElementById("employeename").value;
	var employeeNo = document.getElementById("employeeno").value;
  var employeeHours = document.getElementById("hours").value;
	var HoursRate = document.getElementById("rate").value;

  if (employeeHours <= 40) {
    var regtime = HoursRate * employeeHours;
    var overtime = 0.00;
    var salary = regtime;
  } else if (employeeHours > 40) {
     var regtime = (HoursRate * 40);
     var overtime = ((HoursRate * 1.5) * (employeeHours - 40));
     var salary = (regtime + overtime);
  }
	alert("Paid ammout for " + employeeName + " is for RM " + salary )
}
<body>
<form name="myForm" action="" onsubmit="return paySalary()" method="post">
<label>Employee Name :</label>
<input id="employeename" value="Bob"><br>

<label>Employee No   :</label>
<input id="employeeno"><br>

<label>Rate of pay   :</label>
<input id="rate" value="0"><br>

<label>Hours Work    :</label>
<input id="hours" value="0"><br>

<br>
<button id="submit">Submit</button>
</form>
<br>
<br>
</body>