为什么验证在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>