Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果使用必需属性指定了HTML表单字段,则验证该字段_Javascript_Jquery_Jsp - Fatal编程技术网

Javascript 如果使用必需属性指定了HTML表单字段,则验证该字段

Javascript 如果使用必需属性指定了HTML表单字段,则验证该字段,javascript,jquery,jsp,Javascript,Jquery,Jsp,我创建了一个JSP页面,在不同的选项卡中有许多表单。因此,我添加了一个所有表单通用的提交按钮(因此该按钮位于标记之外)。在每个选项卡上,单击submit时,将使用JQuery提交相应的表单。在所有表单中,都需要一些表单字段。我已经用如下所示的required属性指定了这些字段 <div class="control-group"> <label class="control-label input-label" for="hostname">Host :

我创建了一个JSP页面,在不同的选项卡中有许多表单。因此,我添加了一个所有表单通用的提交按钮(因此该按钮位于标记之外)。在每个选项卡上,单击submit时,将使用JQuery提交相应的表单。在所有表单中,都需要一些表单字段。我已经用如下所示的required属性指定了这些字段

<div class="control-group">
        <label class="control-label input-label" for="hostname">Host :
                    <span class="requiredField"> * </span>
            </label>
        <div class="controls">
            <input type="text" class="inputstyle" name="hostname" placeholder="host" required="required" />
</div>
假设您有两个表单(表单1和表单2)要在单击按钮时提交。。。您可以在按钮单击事件上调用以下函数

function SubmitAllForms()
{
    document.forms.form1.submit();
    document.forms.form2.submit();
}

我认为下面的代码将帮助您解决您的问题

HTML


您可以使用客户端或服务器端脚本验证数据。您已经在这里请求了一个有效的javascript解决方案。因为javascript将阻止提交任何内容,除非数据有效

您需要一个switch或if语句来选择要提交的表单。您需要有一个标识符 这就是算法:

当您使用表单ID时 如果需要填写某些字段,则只需验证表单。getElementByID对于表单id是完美的,请使用if或开关选择要验证然后提交的表单

例如,如果id“lname1”(用于form1)不是空的,那么 并使用javascript函数validate()检查该表单的所有字段是否已填充。 如果填写了多个表单,则必须对表单中的一个字段进行错误检查,一旦表单中的一个字段输入,其他表单将被禁用

您还可以运行if语句-取决于表单是否已被禁用

说实话,为每个for设置一个submit按钮可能会更容易,错误也会更少

示例名称:

function Validate()
        {


        // create array containing textbox elements
        var inputs = [document.getElementById('fname'), document.getElementById('lname'), document.getElementById('email'), document.getElementById('messagetxt')];

        var error;

        for(var i = 0; i<inputs.length; i++)
        // loop through each element to see if value is empty
        {
            if(inputs[i].value == '')
            {
                error = 'Please complete all fields.';
                alert(error);
                return false;
                }
        }
     }


     <form onsubmit="return Validate();"  action="contact.php" method="post" name="contact1" id="contact1"  >


        <input class="input" type="text" placeholder="First Name" name="fname" id="fname" />


        <input class="input" type="text" placeholder="Last Name" name="lname" id="lname"/>

        <input class="input" type="email" placeholder="Email Address" name="email"  id="email"/>

      <textarea placeholder="Message" name="messagetxt" id="messagetxt"></textarea>

    </form>  

     <form onsubmit="return Validate();"  action="contact.php" method="post" name="contact2" id="contact2" >
 //insert form details

    </form>  

        <input type="submit" value="submit" name="submit"  />
函数验证()
{
//创建包含文本框元素的数组
变量输入=[document.getElementById('fname')、document.getElementById('lname')、document.getElementById('email')、document.getElementById('messagetxt');
var误差;

对于(var i=0;i假设:您点击tab,好吧,那太好了,您可以创建一个隐藏的输入,并根据您按下的选项卡更改它的值。让我们进一步说明:您有三个选项卡上的form1、form2和form3可供切换,所以当您点击特定的选项卡时,让我们说tab1导致form1单击时,您需要调用方法setVariable“这是我编的”此方法将隐藏输入的值设置为1,例如:

<div id="tab1" onclick="setVariable(1)">
现在怎么办?好的,现在是时候验证一下你的提交按钮了。你应该调用validateMyForm方法,但是是哪一个表单?好的,和你的隐藏字段有相同编号的表单注意:

<input type="submit" onclick="validateMyForm(document.getElementById('hidden input').value)"/>

这就是goodluck

哪种javascript?我还没有尝试过任何表单验证。现在,如果我不提供输入,表单将被提交。我只是创建了一个这样的函数并传递表单id。但是在那之后,我不知道如何编写代码来找到所需的字段。我使用JSP。提交表单时,它会调用车辙action@yvytty请查看更新。我不是同时提交所有表单。首先,我在第一个选项卡中提交第一个表单,它在Java中的操作过程使用struts,然后在第二个选项卡中提交下一个表单。在JQuery中,我提交的表单如下所示:
$('#'+$submitform).submit()
其中
$submitform
是我需要提交的当前表单的表单id。对于我必须创建的所有表单,都要创建这样的函数,对吗?然后我可以不在此处询问就可以这样做。我要求在提交表单中找到所需字段并进行验证it@ShijuKBabu现在看到更新的答案,我认为这解决了你的pbmBut仍然是我必须正确验证所有表单的函数。我想让一个公共函数通过传递表单id来验证所有表单
 var formRules={userName:{required:true},userPass:{required:true}};

 $("#myForm").validate({rules:formRules});

 $("#myForm").submit(function(event){

 if(! $("#myForm").valid()){

   return;

 }

 });


//Also you can get your form fields by using below code

  var values = {};
  $.each($('#myForm').serializeArray(), function(i, field) {
     values[field.name] = field.value;
  });          
function Validate()
        {


        // create array containing textbox elements
        var inputs = [document.getElementById('fname'), document.getElementById('lname'), document.getElementById('email'), document.getElementById('messagetxt')];

        var error;

        for(var i = 0; i<inputs.length; i++)
        // loop through each element to see if value is empty
        {
            if(inputs[i].value == '')
            {
                error = 'Please complete all fields.';
                alert(error);
                return false;
                }
        }
     }


     <form onsubmit="return Validate();"  action="contact.php" method="post" name="contact1" id="contact1"  >


        <input class="input" type="text" placeholder="First Name" name="fname" id="fname" />


        <input class="input" type="text" placeholder="Last Name" name="lname" id="lname"/>

        <input class="input" type="email" placeholder="Email Address" name="email"  id="email"/>

      <textarea placeholder="Message" name="messagetxt" id="messagetxt"></textarea>

    </form>  

     <form onsubmit="return Validate();"  action="contact.php" method="post" name="contact2" id="contact2" >
 //insert form details

    </form>  

        <input type="submit" value="submit" name="submit"  />
<div id="tab1" onclick="setVariable(1)">
function setVariable (value){
    document.getElementById('our hiddin input id').value= value;
}
<input type="submit" onclick="validateMyForm(document.getElementById('hidden input').value)"/>
function validateMyForm(val){
    //use a switch or if-else to know which form you're validating and also which action should be submitted
}