使用If Else语句和document.getElementByID

时间:2017-02-20 15:44:10

标签: javascript html css forms validation

我是网站的新用户,但我上周一直在网上搜索这个答案,我似乎无法找到答案。

我想要的是在单击提交按钮时要验证的表单中的3个字段中的2个,而不是转到下一页,它需要在允许之前进行验证。

这就是我所拥有的,

HTML:

function validateForm(input) {
  var isValid = true;
  if (!document.getElementById("Name").value.trim().length) {
    isValid = false;
    alert("Please enter your First Name");
  } else if (!document.getElementById("Comment1").value.trim().length) {
    isvalid = false;
    alert("Please enter your phone number");
  } else {
    return false;
  }
  if (isValid) {
    document.getElementById('ICContainer').style.display;
    loadInstantChat();
  }
}
input[type=submit] {
  position: relative;
  top: 20px;
  width: 322px;
  background-color: #EF423E;
  border-radius: 5px;
  border: none;
  color: white;
  padding: 4px;
  font-family: 'arial';
  font-size: 11pt;
  text-decoration: double;
  margin: 4px 2px;
  cursor: pointer;
}

input[type=text],
[type=number],
[type=email] {
  width: 323px;
  padding: 4px 4px;
  margin: 8px 0;
  box-sizing: border-box;
  border: solid #EF423E 2px;
  border-radius: 5px;
  color: #4E4E56;
  background-color: #f9f9f9;
  font-family: 'arial';
  font-size: 11pt;
}
<body onload="handleRebootOrRefresh();">
  <form name="input" action="#" onsubmit="return validateForm(input)" method="post">
    Your first name:* <input id="Name" type="text" name="inputName"> Your phone number:* <input id="Comment1" type="text" name="inputNumber"> Claim Reference: <input id="Comment2" type="text" name="inputClaim">
    <input type="submit" value="Chat Now" onclick="validateForm(input)">
  </form>

  <div id="ICContainer" style="position: absolute; left: 0px; top: 0px; width: 350px; height: 550px; display: none"></div>
</body>

在这段代码中运行了很多其他JavaScript,我不想触及,但我确实需要知道如何获得前2个字段进行验证,如果成功验证,它会处理到下一页(即document.getElementByID('ICContainer').style.display; loadInstantChat();

为了说清楚,这是一个LogMeIn Rescue即时聊天实例,他们的支持热线是“不要碰任何东西,即使我们真的给你一步一步的指导”。

2 个答案:

答案 0 :(得分:0)

您可以使用函数的返回值来阻止表单提交

<form name="myForm" onsubmit="return validateMyForm();"> 

和功能类似

<script type="text/javascript">
function validateMyForm()
{
  if(check if your conditions are not satisfying)
  { 
    alert("validation failed false");
    returnToPreviousPage();
    return false;
  }

  alert("validations passed");
  return true;
}
</script>

答案 1 :(得分:0)

我认为您需要从表单应用程序中删除一些属性:

schema."tablename with space"

您可以创建一个调用validateForm的新函数(handleForm),如果每次都可以将AJAX请求发送到您的服务器。

action="#" onsubmit="return validateForm(input)" method="post"