[英]Why validation is not working properly in JavaScript?
我有一个输入字段和一个提交按钮:
<form action="" method="post">
<input type="text" name="sponsar_name" id="sponsar_name" />
<input type="submit" value="Submit" class="btn-submit" name="submit" onClick="validate()" >
</form>
function validate()
{
var flag = 0;
if(document.getElementById("sponsar_name").value == null || document.getElementById("sponsar_name").value == "")
{
document.getElementById("sponsar_name").style.borderColor = 'red';
flag = 1;
}
else
{
document.getElementById("sponsar_name").style.borderColor = '';
}
if(flag==1)
{
return false;
}
else
{
return true;
}
}
</script>
我在提交按钮上应用了一个onClick
函数。我已经申请了验证。
当我单击提交按钮时,它会显示文本框的红色背景,但会立即刷新页面。
如果文本框为空白,则不应刷新页面,但在我的代码中它正在这样做。
谁能帮我?
试试
<form action="" method="post">
<input type="text" name="sponsar_name" id="sponsar_name" />
<input type="submit" value="Submit" class="btn-submit" name="submit" onClick="return validate()" >
</form>
您需要使用onClick="return validate()"
或onSubmit="return validate()"
。 它将解决问题。
使用onClick="return validate()"
<form action="" method="post">
<input type="text" name="sponsar_name" id="sponsar_name" />
<input type="submit" value="Submit" class="btn-submit" name="submit" onClick="return validate()" >
</form>
使用onSubmit="return validate()"
<form action="" method="post" onSubmit="return validate()">
<input type="text" name="sponsar_name" id="sponsar_name" />
<input type="submit" value="Submit" class="btn-submit" name="submit">
</form>
你需要这样做,
<input type="submit" value="Submit" class="btn-submit" name="submit" onClick="return validate()" >
当您在方法中返回 false 时,您的表单将不会被提交。
像这样更改表单:删除onClik
函数并在表单标题上添加onSubmit
<form action="" method="post" onsubmit="return validate()">
<input type="text" name="sponsar_name" id="sponsar_name" />
<input type="submit" value="Submit" class="btn-submit" name="submit"/>
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.