Javascript提交验证
Noob想知道如何使用javascript函数验证两个字段。 例如,在线javascoipt代码需要验证两个字段fieldx和fieldyJavascript提交验证,javascript,validation,coldfusion,Javascript,Validation,Coldfusion,Noob想知道如何使用javascript函数验证两个字段。 例如,在线javascoipt代码需要验证两个字段fieldx和fieldy function checkdate(input) { var validformat = /^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity var returnval = false if (!validformat.test(input.value)) alert("Invalid
function checkdate(input) {
var validformat = /^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
var returnval = false
if (!validformat.test(input.value))
alert("Invalid Date Format. Please correct and submit again.")
else { //Detailed check for valid date ranges
var monthfield = input.value.split("/")[0]
var dayfield = input.value.split("/")[1]
var yearfield = input.value.split("/")[2]
var dayobj = new Date(yearfield, monthfield - 1, dayfield)
if ((dayobj.getMonth() + 1 != monthfield) || (dayobj.getDate() != dayfield) || (dayobj.getFullYear() != yearfield))
alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
else
returnval = true
}
if (returnval == false) input.select()
return returnval
}
< /script>
功能检查日期(输入){
var validformat=/^\d{2}\/\d{2}\/\d{4}$///格式有效性的基本检查
var returnval=false
如果(!validformat.test(输入值))
警报(“无效的日期格式。请更正并重新提交。”)
else{//详细检查有效日期范围
var monthfield=input.value.split(“/”[0]
var dayfield=input.value.split(“/”[1]
var yearfield=input.value.split(“/”[2]
var dayobj=新日期(年字段,月字段-1,日字段)
if((dayobj.getMonth()+1!=monthfield)| |(dayobj.getDate()!=dayfield)| |(dayobj.getFullYear()!=yearfield))
警报(“检测到无效的日、月或年范围。请更正并重新提交。”)
其他的
returnval=true
}
如果(returnval==false)输入。选择()
返回值
}
问题:
如何使用JavaScript验证这两个字段。我试过了,但没有成功
<cfform action="someactionyoutake.cfm" method ="POST" onSubmit="return
checkdate(document.formname.fieldx && document.formname.fieldy)">
提前感谢只需调用一个中间函数:
<script>
function checkForm(){
return datecheck(document.formname.fieldx) && datecheck(document.formname.fieldy)
}
</script>
<cfform action="someactionyoutake.cfm" method ="POST" onSubmit="return checkForm()">
函数检查表(){
返回日期检查(document.formname.fieldx)和日期检查(document.formname.fieldy)
}
当您使用jquery标记问题时,请尝试以下代码片段
$(document).ready(function(){
var PreFormSubmitValidation = function (event) {
var isFormValid = true;
// your validation logic
if(<Validation Logic Fails>){
isFormValid = false;
}
if(!isFormValid){
return false;
// or can use
// event.preventDefault();
}
};
$("#formId").submit(PreFormSubmitValidation); // calls the method when the form is posted to the server
});
$(文档).ready(函数(){
var验证=功能(事件){
var isFormValid=true;
//您的验证逻辑
if(){
isFormValid=false;
}
如果(!isFormValid){
返回false;
//或者可以使用
//event.preventDefault();
}
};
$(“#formId”).submit(PreFormSubmitValidation);//在表单发布到服务器时调用该方法
});
希望它能帮上忙……只要改变就行了
<cfform action="someactionyoutake.cfm" method ="POST" onSubmit="return datecheck(document.formname.fieldx && document.formname.fieldy)">
到
粘贴代码之前,请使用代码美化器。。。或者编辑器中的插件。您应该保持一致:在JavaScript中编写datecheck()
,在HTML中编写checkdate()
。此外,您不应该在HTML中使用on*事件。我不推荐像document.formname.fieldx这样的DOM级别0访问,而是推荐document.getElementById(formorementId)<代码>名称
属性已被弃用,顺便说一句。我已经尝试了&&但没有成功。您应该使用某种javascript调试器,如FF的web控制台,它将帮助您查找问题。用于比较布尔值,但您将传入DOM元素。因此出现了错误。
<cfform action="someactionyoutake.cfm" method ="POST" onSubmit="return datecheck(document.formname.fieldx) && datecheck(document.formname.fieldy)">