我需要使用JS验证表单,以便在不填写某些必填字段的情况下无法提交表单。
例如根据我的需要设置姓氏
<script>
function validateform(){
var x=document.forms["vacancy"]["surname"].value;
if(x==""){alert("Surname must be filled out");
return false;}
</script>
表格:
<form name="vacancy" action="" onSubmit="return validateform()">
Surname <input name="surname" type="text">
</form>
这段代码非常好,但是当我在生日字段中使用相同的代码时,它将继续进行而不会检查是否提供了该字段。
<script>
function validateform(){
var a=document.forms["vacancy"]["dob"].value;
if(a==""){alert("Birthdate must be filled out");
return false;}
</script>
<form name="vacancy" action="" onSubmit="return validateform()">
Date of Birth <input name="dob" type="date">
</form>
还有其他检查类型设置为日期的方法吗?
答案 0 :(得分:0)
您似乎在第二个脚本finction validateform()
中有一个错字,其中“ finction”应为“ function”。
作为替代方案,您可以为此使用required
属性。
<form name="vacancy" action="">
Surname <input name="surname" type="text" required></br>
DOB <input name="dob" type="date" required></br>
<button type="submit">Submit</button>
</form>
编辑(针对已编辑的问题):您在以下示例中使用哪种浏览器作为更正后的代码示例。如果您在同一页面中同时使用两种形式,则函数声明validateform
会导致名称冲突。
<script>
function validateform() {
var a = document.forms["vacancy"]["dob"].value;
if (a == "") {
alert("Birthdate must be filled out");
return false;
}
}
</script>
<form name="vacancy" action="" onSubmit="return validateform()">
Date of Birth <input name="dob" type="date">
</form>
答案 1 :(得分:0)
您可以仅检查默认值'mm / dd / yyyy'是否仍存在于'a'中而不是空字符串,然后抛出该消息。