为什么验证在JavaScript中不能正常工作?
我有一个输入字段和一个提交按钮:为什么验证在JavaScript中不能正常工作?,javascript,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 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>
函数验证()
{
var标志=0;
if(document.getElementById(“sponsar_name”).value==null || document.getElementById(“sponsar_name”).value==“”)
{
document.getElementById(“sponsar_name”).style.borderColor='red';
flag=1;
}
其他的
{
document.getElementById(“sponsar_name”).style.borderColor='';
}
如果(标志==1)
{
返回false;
}
其他的
{
返回true;
}
}
我已经在提交按钮上应用了一个函数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()”
你需要这样做
当您在方法中返回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>
onClick=“return validate()”
成功了。是的,你是对的。谢谢你的评论是对的。你有很好的代码。为document.getElementById(“sponsar_name”)创建变量的第一个建议。
<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>
<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>
<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>