如何使用分配给表单的ID使用JavaScript验证html表单中的空/空字段

如何使用分配给表单的ID使用JavaScript验证html表单中的空/空字段,javascript,jquery,html,forms,validation,Javascript,Jquery,Html,Forms,Validation,我试图用JavaScript验证我的html表单,以便它遍历所有输入字段并检查空/空字段 我找到了一种在w3s上验证null的方法(下面的代码),但我想修改该函数,以便它使用指定给整个表单的特定id检查表单上的所有字段,而不是只针对一个字段 function validateForm() { var x = document.forms["myForm"]["fname"].value; if ( x == null || x == "" ) { alert("First

我试图用JavaScript验证我的html表单,以便它遍历所有输入字段并检查空/空字段

我找到了一种在w3s上验证null的方法(下面的代码),但我想修改该函数,以便它使用指定给整个表单的特定
id
检查表单上的所有字段,而不是只针对一个字段

function validateForm() {
   var x = document.forms["myForm"]["fname"].value;
   if ( x == null || x == "" ) {
      alert("First name must be filled out");
      return false;
   }
}
</script>
</head>

<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
    First name: <input type="text" name="fname">
    <input type="submit" value="Submit">
函数validateForm(){
var x=document.forms[“myForm”][“fname”].value;
如果(x==null | | x==“”){
警告(“必须填写姓名”);
返回false;
}
}
名字:
函数验证表单(formId){
var form=document.getElementById(formId);
对于(i=0;i给表单一个id“myForm”

然后,您可以使用以下选项进行选择:
var form=document.getElementById(“myForm”);

以下是最简单的方法:

<script>
        function validateForm(formId)
        {
            var inputs, index;
            var form=document.getElementById(formId);
            inputs = form.getElementsByTagName('input');
            for (index = 0; index < inputs.length; ++index) {
                // deal with inputs[index] element.
                if (inputs[index].value==null || inputs[index].value=="")
                {
                    alert("Field is empty");
                    return false;
                }
            }
        }
</script>

除此之外,我还将包括
required
属性,以防用户禁用javascript

<input type="text" id="textbox" required/>


它适用于所有现代浏览器,而不是较旧的浏览器,因为它是HTML5的一部分。您发布此问题已经有一段时间了,但由于您尚未接受答案,这里有一个简单的解决方案:()

函数验证()
{
var msg=“”,
fields=document.getElementById(“表单id”).getElementsByTagName(“输入”);

对于(var i=0;i只需将所需的输入标记放入输入标记中,然后每当您单击提交按钮时,空文本框将给出错误字段不能为空。 示例:-


重要的是要管理这样一个事实,即对于某些表单元素(如textareas),所需属性在Firefox中的行为与所有其他浏览器不同。在Firefox中,无论您的输入是空的还是空的,所需属性都会阻止表单提交。但在Chrome或Edge中,表单将在空字段上提交,而不是在空字段上提交

我会的。让我测试(:@irm我的代码永远不会被执行。单击“提交”会导致“doCheck未定义”。我想你不知道javascript以及jQuery中发生了什么。所以请不要使用它。
document.getElementById('checkme')。onsubmit=function(){var formId='checkme';/*函数validateForm*/}中的代码在这里
我喜欢这个选项,但是我注意到,当所需的输入字段位于选项卡式accordion元素中时(也就是在javascript隐藏和显示的元素中)很难切换到带有必填字段的选项卡,以指示它是必填字段以及浏览器提供的工具提示,但是,当选项卡处于活动状态时,工具提示会正确显示……如果该字段是可选的,该怎么办?
<form name="myForm" id="myForm" action="1.php" onsubmit="return validateForm('myForm');" method="post">
<input type="text" id="textbox" required/>
function Validate()
{
    var msg= "",
        fields = document.getElementById("form_id").getElementsByTagName("input");

    for (var i=0; i<fields.length; i++){
        if (fields[i].value == "") 
            msg += fields[i].title + ' is required. \n';
    }

    if(msg) {
        alert(msg);
        return false;
    }
    else
        return true;
}