Javascript 使用If-Else语句和document.getElementByID进行表单验证

Javascript 使用If-Else语句和document.getElementByID进行表单验证,javascript,html,css,forms,validation,Javascript,Html,Css,Forms,Validation,我是这个网站的新手,但我花了一周时间在互联网上寻找答案,但似乎找不到答案 我想要的是表单中3个字段中的2个在单击submit按钮时进行验证,而不是转到下一页,它需要在允许之前进行验证 这就是我所拥有的 HTML: 函数验证窗体(输入){ var isValid=true; if(!document.getElementById(“Name”).value.trim().length){ isValid=false; 警告(“请输入您的名字”); }else if(!document.getEl

我是这个网站的新手,但我花了一周时间在互联网上寻找答案,但似乎找不到答案

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

这就是我所拥有的

HTML:

函数验证窗体(输入){
var isValid=true;
if(!document.getElementById(“Name”).value.trim().length){
isValid=false;
警告(“请输入您的名字”);
}else if(!document.getElementById(“Comment1”).value.trim().length){
isvalid=false;
提醒(“请输入您的电话号码”);
}否则{
返回false;
}
如果(有效){
document.getElementById('ICContainer').style.display;
loadInstantChat();
}
}
input[type=submit]{
位置:相对位置;
顶部:20px;
宽度:322px;
背景色:#EF423E;
边界半径:5px;
边界:无;
颜色:白色;
填充:4px;
字体系列:“arial”;
字号:11pt;
文字装饰:双色;
利润:4倍2倍;
光标:指针;
}
输入[类型=文本],
[类型=编号],
[类型=电子邮件]{
宽度:323px;
填充:4px4px;
利润率:8px0;
框大小:边框框;
边框:实心#EF423E 2px;
边界半径:5px;
颜色:#4e46;
背景色:#f9f9f9;
字体系列:“arial”;
字号:11pt;
}

您的名字:*您的电话号码:*索赔参考:

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

<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>

函数validateMyForm()
{
如果(检查您的条件是否不满足)
{ 
警报(“验证失败错误”);
returnToPreviousPage();
返回false;
}
警报(“通过验证”);
返回true;
}

我认为您需要从表单应答器中删除一些属性:

action="#" onsubmit="return validateForm(input)" method="post"
您可以创建一个调用validateForm的新函数(handleForm),如果一切正常,则向服务器发送一个AJAX请求

<input type="submit" value="Chat Now" onclick="handleForm(input)">

[...]
function handleForm(input) {
  var isValid = validateForm(input);
  if (isValid) {
    //perform your ajax request here
  }
}

function validateForm(input) { ...

[...]
功能手柄(输入){
var isValid=validateForm(输入);
如果(有效){
//在这里执行ajax请求
}
}
函数validateForm(输入){。。。

谢谢。但是我已经尝试过了。我可以让验证正常工作,但是我无法让它正常工作。在验证之后,它调用document.getElementById('ICContainer').style.display;loadInstantChat();
我可以让验证生效,但在验证后我无法让它生效
澄清?因此我需要验证的两个表单,名称和电话号码会出现一个警报,说明需要这些框。如果框填写正确,则不会弹出警报,但不会打开下一个文档/运行下一个scri老实说,这非常复杂,因为我正在使用另一个公司的代码,并且发生的很多事情都隐藏在外部JS文件中