2017-04-14 32 views
0

我开发了一个表单,当用户填写所有输入字段时,将会启用提交按钮。我的问题是提交按钮没有被启用。我正在使用jQuery。填写表格中的所有输入后,按钮无法使用

var UserCampusName = "0"; 
 
var EmpID = null; 
 
var FirstName = null; 
 
var LastName = null; 
 
var mobileNo = null; 
 
var EmpEmail = null; 
 
var userRoles = "0"; 
 

 
$('#SubmitUserRole').attr('disabled', 'disabled'); 
 

 
$(function() { 
 
    $("#userRoleForm").hover(function(){ 
 
     UserCampusName = $('#UserCampus').val() 
 
     EmpID = $('#UserEmpID').val() 
 
     FirstName = $('#UserEmpFirstName').val() 
 
     LastName = $('#UserEmpLastName').val() 
 
     mobileNo = $('#UserEmpMobileNo').val() 
 
     EmpEmail = $('#UserEmpEmail').val() 
 
     userRoles = $('#Roles').val() 
 
     
 
     if ((FirstName.length > 0) && (LastName.length > 0) && (mobileNo.length > 0) && (EmpEmail.length > 0) && (EmpID.length > 0) && (userRoles != 0) && (UserCampusName != 0)) { 
 
      $('#SubmitUserRole').removeAttr('disabled'); 
 
     } 
 
     else { 
 
      $('#SubmitUserRole').attr('disabled', 'disabled'); 
 
     } 
 
    }) 
 
})
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
 

 
<form role="form" class="form-horizontal form-bordered" id="userRoleForm"> 
 
    <center> 
 
     <h2>User Roles & Privileges Set-up</h2></center> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Select department <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <select class="form-control" id="UserCampus" data-placeholder="Select" tabindex="1"> 
 
       <option value="Category 0" default disabled selected>--Select--</option> 
 
      </select> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Enter the employee id <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <input id="UserEmpID" type="text" class="form-control" /> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Enter First Name <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <input id="UserEmpFirstName" type="text" class="form-control"/> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Enter Middle Name </label> 
 
     <div class="col-md-7"> 
 
      <input id="UserEmpMiddleName" type="text" class="form-control"/> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Enter Last Name <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <input id="UserEmpLastName" type="text" class="form-control"/> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Enter Mobile Number <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <input id="UserEmpMobileNo" type="text" class="form-control allownumericwithoutdecimal"/> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Enter Email Id <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <input id="UserEmpEmail" type="Email" class="form-control"/> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="label1 col-md-4">Select the applicable user role & privileges <span class="required"> * </span> </label> 
 
     <div class="col-md-7"> 
 
      <select id="Roles" style="width:100%;" data-placeholder="Select an option" multiple> </select> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <button class="btn btn-primary" id="SubmitUserRole" type="button">submit User</button> 
 
    </div> 
 
</form>

请帮我解决这个问题。

+0

它工作正常。所以你的问题是什么? (悬停需要启用禁用) –

+0

按钮启用时,我填写所有输入 –

+0

您需要使用其他事件触发禁用/启用,而不是悬停。只有当鼠标退出表单时,才能“悬停”,然后你会看到按钮被启用。这里您希望在输入改变时启用按钮。您需要捕获更改事件。 – elpddev

回答

4

填写所有栏位并点击提交。这是工作

var UserCampusName = "0"; 
 
\t var EmpID = null; 
 
\t var FirstName = null; 
 
\t var LastName = null; 
 
\t var mobileNo = null; 
 
\t var EmpEmail = null; 
 
\t var userRoles = "0"; 
 
\t 
 
\t 
 
\t $('#SubmitUserRole').attr('disabled', 'disabled'); 
 
\t 
 
\t $(function() { 
 
\t \t $("#userRoleForm").hover(function(){ 
 
\t \t \t UserCampusName = $('#UserCampus').val() 
 
\t \t \t EmpID = $('#UserEmpID').val() 
 
\t \t \t FirstName = $('#UserEmpFirstName').val() 
 
\t \t \t LastName = $('#UserEmpLastName').val() 
 
\t \t \t mobileNo = $('#UserEmpMobileNo').val() 
 
\t \t \t EmpEmail = $('#UserEmpEmail').val() 
 
\t \t \t userRoles = $('#Roles').val() 
 
\t \t \t 
 
\t \t \t if ((FirstName.length > 0) && (LastName.length > 0) && (mobileNo.length > 0) && (EmpEmail.length > 0) && (EmpID.length > 0) && (userRoles != 0) && (UserCampusName != 0)) { 
 
\t \t \t \t $('#SubmitUserRole').removeAttr('disabled'); 
 
\t \t \t } 
 
\t \t \t else { 
 
\t \t \t \t $('#SubmitUserRole').attr('disabled', 'disabled'); 
 
\t \t \t } 
 
\t \t \t }) 
 
\t })
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
 

 
<form role="form" class="form-horizontal form-bordered" id="userRoleForm"> 
 
\t \t <center> 
 
\t \t \t <h2>User Roles & Privileges Set-up</h2></center> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Select department <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 
\t \t \t \t \t \t \t <select class="form-control" id="UserCampus" data-placeholder="Select" tabindex="1"> 
 
\t \t \t \t <option value="Category 0" default disabled selected>--Select--</option> 
 
\t \t \t \t 
 
\t \t \t </select> 
 
\t \t \t \t 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Enter the employee id <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 

 
\t \t \t \t <input id="UserEmpID" type="text" class="form-control" /> 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Enter First Name <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 

 
\t \t \t \t <input id="UserEmpFirstName" type="text" class="form-control"/> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Enter Middle Name </label> 
 
\t \t \t <div class="col-md-7"> 
 

 
\t \t \t \t <input id="UserEmpMiddleName" type="text" class="form-control"/> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Enter Last Name <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 

 
\t \t \t \t <input id="UserEmpLastName" type="text" class="form-control"/> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Enter Mobile Number <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 

 
\t \t \t \t <input id="UserEmpMobileNo" type="text" class="form-control allownumericwithoutdecimal"/> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Enter Email Id <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 

 
\t \t \t \t <input id="UserEmpEmail" type="Email" class="form-control"/> 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label class="label1 col-md-4">Select the applicable user role & privileges <span class="required"> * </span> </label> 
 
\t \t \t <div class="col-md-7"> 
 
\t \t \t \t <textarea type="textarea" rowspan="5"> </textarea> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t 
 
\t \t <div class="form-group"> 
 
\t \t \t <button class="btn btn-primary" id="SubmitUserRole" type="button">submit User</button> 
 
\t \t </div> 
 
\t 
 
</form>

+0

面临同样的问题。 您的代码拯救了我的生命,感谢分享。 –

0

尝试用以下:

HTML

<form role="form" class="form-horizontal form-bordered" id="userRoleForm"> 
    <center> 
     <h2>User Roles & Privileges Set-up</h2> 
    </center> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Select department <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <select class="form-control" id="UserCampus" data-placeholder="Select" tabindex="1"> 
      <option value="0">--Select--</option> 
      <option value="1">Admin</option> 
     </select> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Enter the employee id <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <input id="UserEmpID" type="text" class="form-control" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Enter First Name <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <input id="UserEmpFirstName" type="text" class="form-control"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Enter Middle Name </label> 
     <div class="col-md-7"> 
     <input id="UserEmpMiddleName" type="text" class="form-control"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Enter Last Name <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <input id="UserEmpLastName" type="text" class="form-control"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Enter Mobile Number <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <input id="UserEmpMobileNo" type="text" class="form-control allownumericwithoutdecimal"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Enter Email Id <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <input id="UserEmpEmail" type="Email" class="form-control"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="label1 col-md-4">Select the applicable user role & privileges <span class="required"> * </span> </label> 
     <div class="col-md-7"> 
     <textarea type="textarea" rowspan="5"> </textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <button class="btn btn-primary" id="SubmitUserRole" type="button" disabled="disabled">submit User</button> 
    </div> 
</form> 

SCRIPT

$(function(){ 
    $('body').on('keyup change','#userRoleForm input, #userRoleForm select',function(){ 
     var UserCampusName = $('#UserCampus').val() 
     var EmpID = $('#UserEmpID').val() 
     var FirstName = $('#UserEmpFirstName').val() 
     var LastName = $('#UserEmpLastName').val() 
     var mobileNo = $('#UserEmpMobileNo').val() 
     var EmpEmail = $('#UserEmpEmail').val() 


     if ((FirstName.length > 0) && (LastName.length > 0) && (mobileNo.length > 0) && (EmpEmail.length > 0) && (EmpID.length > 0) && (UserCampusName != 0)) { 
      console.log('up') 
      $('#SubmitUserRole').removeAttr('disabled'); 
     } 
     else { 
      console.log('down') 
      $('#SubmitUserRole').attr('disabled', 'disabled'); 
     } 
    }) 

}) 

您可以在if-else中检查尽可能多的输入。在上面的代码中,我没有检查textarea验证,但可以相应地修改它。