用于验证空输入字段不起作用的 JS 函数
JS function to validate for null input fields not working
我似乎无法弄清楚我的JS出了什么问题。我所需要的只是函数validateForm
来检查表单上的空字段id
formId
我从来没有在浏览器上收到警报。
这是我的JS:
<script>
$(document).ready(function(){
window.validateForm = validateForm;
function validateForm(formId){
var form=document.getElementById('#formId');
for(i=0; i<form.childNodes.length; i++)
if(form.childNodes[i].tagName!='INPUT'||
typeof form.childNodes[i].value=="undefined")
continue;
else{
var x=form.childNodes[i].value;
if(x==null||x==""){
alert("please fill out all fields");
return false;
}
}
}
</script>
这是 html:
<form id="formId" name="myForm" action="mailto:" onsubmit="return validateForm()" method="post">
first field: <input type="text" name="first"></br>
second field: <input type="text" name="second"></br>
third field: <input type="text" name="third"></br>
fourth field: <input type="text" name="fourth"></br>
<input type="submit" value="Submit">
请检查此小提琴以查看它的实际效果 http://jsfiddle.net/thefourtheye/p9pDu/1/
代码中需要进行四项更改
-
像这样更改表单的定义
<form id="formId" name="myForm" action="mailto:" method="post">
-
您的
validateForm
函数不需要任何参数。 -
当您使用
document.getElementById
时,请勿使用#
。所以,它应该是document.getElementById('formId')
-
您只需要此行即可确保在提交表单时调用
validateForm
。$('#formId').on('submit', validateForm);
validateForm
函数在文档就绪回调中定义(在回调函数作用域中)。这将无法在全球范围内访问。但是您正在尝试访问 onsubmit 事件中的函数。
在回调函数中的函数定义之后执行此操作,以使函数全局可用:
window.validateForm = validateForm;
相关文章:
- 当js函数's已执行
- 调用php数组中的JS函数
- 为JS函数添加延迟
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 使用JS函数来使用另一个函数的语法?node.js
- 将JS函数传递给Emscripten生成的代码
- 是否可以在使用headerphp函数后自动调用JS函数
- 如何在.js函数中检索来自其他模板的表单的目标值
- 简单的JS函数.需要对变量进行澄清
- 无法识别从php创建的Js函数
- 如何将对象传递给这个js函数
- 全局窗口热键在最小化chrome窗口时调用js函数
- 将重定向URL链接添加到JS函数
- 从PHP调用JS函数不起作用
- js函数堆栈传入变量,.hide()不起作用
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如何让JS函数自行执行
- 使用默认js函数的javascript中的日期的第二天
- 如何从页面中的jquery调用angular js函数控制器
- 从.js文件调用html中的js函数