我是网站的新用户,但我上周一直在网上搜索这个答案,我似乎无法找到答案。
我想要的是在单击提交按钮时要验证的表单中的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即时聊天实例,他们的支持热线是“不要碰任何东西,即使我们真的给你一步一步的指导”。
答案 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"