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