823 lines
42 KiB
PHP
823 lines
42 KiB
PHP
|
<style>
|
||
|
.register-row {
|
||
|
position: relative;
|
||
|
display: flex;
|
||
|
justify-content: space-between;
|
||
|
}
|
||
|
|
||
|
.passwrd-icon1 {
|
||
|
position: absolute;
|
||
|
top: 5px !important;
|
||
|
right: 8px;
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
|
||
|
.upload-doc-btn-wrap {
|
||
|
position: relative;
|
||
|
}
|
||
|
|
||
|
.error {
|
||
|
color: red;
|
||
|
padding-top: 5px;
|
||
|
font-size: 12px;
|
||
|
}
|
||
|
|
||
|
.col-md-6.col-height {
|
||
|
height: 50px !important;
|
||
|
}
|
||
|
|
||
|
select.form-control:not([size]):not([multiple]) {
|
||
|
height: 33.1px;
|
||
|
}
|
||
|
</style>
|
||
|
<div class="wraper responsive-width">
|
||
|
|
||
|
<main class="container px-0" id="main">
|
||
|
|
||
|
<!----admin template section---->
|
||
|
<div class="admin_tempblock">
|
||
|
<div class="admin_tempsec">
|
||
|
<div class="admin_sec">
|
||
|
<?php
|
||
|
if (!empty($this->session->flashdata('success'))) { ?>
|
||
|
<div class="alert alert-success">
|
||
|
<a href="#" class="close" data-dismiss="alert">×</a>
|
||
|
<strong>Success!</strong> <?php echo $this->session->flashdata('success'); ?>
|
||
|
</div>
|
||
|
<?php
|
||
|
}
|
||
|
if (!empty($this->session->flashdata('error'))) {
|
||
|
?>
|
||
|
<div class="alert alert-danger">
|
||
|
<a href="#" class="close" data-dismiss="alert">×</a>
|
||
|
<strong>Failed!</strong> <?php echo $this->session->flashdata('error'); ?>
|
||
|
</div>
|
||
|
<?php } ?>
|
||
|
<form id="addEditBatchForm" method="post" action="<?php echo base_url(); ?>admin/add-new-student" enctype="multipart/form-data">
|
||
|
<div class="col-md-12 px-0">
|
||
|
<div class="register-form">
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="h4"><?php echo $title; ?></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<br>
|
||
|
<div class="card">
|
||
|
<div class="card-body">
|
||
|
<h5 class="card-title h6">Student Details</h5>
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="row">
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="sname" class="sname form-control" id="sname" placeholder="Student Full name" />
|
||
|
<span> Full Name <b class="text-danger">*</b> </span>
|
||
|
</label>
|
||
|
<label id="sname-error" class="error my-0 px-1 py-0" style="display:none;" for="sname"></label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="sdob" id='sdob' class="nepal-date sdob form-control" placeholder=" DOB (YYYY-mm-dd)" width="100%">
|
||
|
<span> Date Of Birth (B.S.) <b class="text-danger">*</b> </span>
|
||
|
</label>
|
||
|
<label id="sdob-error" class="error my-0 px-1 py-0" style="display:none;" for="sdob"></label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="siemis" class="siemis form-control" id="siemis" placeholder="Student IEMIS Number" />
|
||
|
<span> IEMIS </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="w-100 mt-3"></div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="smobile" class="smobile form-control" id="smobile" placeholder="Contact Number" />
|
||
|
<span> Contact Number </span>
|
||
|
</label>
|
||
|
<label id="smobile-error" class="error my-0 px-1 py-0" style="display:none;" for="smobile"></label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="d-flex align-items-center pt-1">
|
||
|
|
||
|
<label for="Male" class="mb-0 pr-2"> Gender:</label>
|
||
|
<div class="register-radio">
|
||
|
<label for="Male" class="mb-0 px-1"><input type="radio" id="Male" name="sgender" value="Male" style="height: 12px; width: 15px;"> Male </label>
|
||
|
</div>
|
||
|
<div class="register-radio">
|
||
|
<label for="Female" class="mb-0 px-1"><input type="radio" id="Female" name="sgender" value="Female" style="height: 12px; width: 15px;"> Female</label>
|
||
|
</div>
|
||
|
<div class="register-radio">
|
||
|
<label for="Other" class="mb-0 px-1"><input type="radio" id="Other" name="sgender" value="Other" style="height: 12px; width: 15px;"> Other</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
<label id="sgender-error" class="error" style="display:none;" for="sgender"></label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="card mt-3">
|
||
|
<div class="card-body">
|
||
|
<h5 class="card-title h6">Course Details</h5>
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="row">
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<select name="sbatch" class="sbatch form-control custom-select" id="sbatch">
|
||
|
<option value="">Select Batch</option>
|
||
|
<?php foreach ($batch as $c) { ?>
|
||
|
<option value="<?= $c['id'] ?>"><?= $c['b_name'] ?></option>
|
||
|
<?php } ?>
|
||
|
</select>
|
||
|
<span> Batch <b class="text-danger">*</b> </span>
|
||
|
</label>
|
||
|
<label id="sbatch-error" class="error my-0 px-1 py-0" style="display:none;" for="sbatch"></label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<select name="scourse" class="scourse form-control custom-select" id="scourse">
|
||
|
<option value="">Select Course</option>
|
||
|
<?php foreach ($courses as $c) { ?>
|
||
|
<option value="<?php echo $c['id'] ?>"><?php echo $c['course_name'] ?></option>
|
||
|
<?php } ?>
|
||
|
</select>
|
||
|
<span> Course <b class="text-danger">*</b> </span>
|
||
|
</label>
|
||
|
<label id="scourse-error" class="error my-0 px-1 py-0" style="display:none;" for="scourse"></label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<select name="s_section" class="s_section form-control custom-select" id="s_section">
|
||
|
<option value=''> Select Section </option>
|
||
|
</select>
|
||
|
<span> Section <b class="text-danger">*</b> </span>
|
||
|
</label>
|
||
|
<label id="s_section-error" class="error my-0 px-1 py-0" style="display:none;" for="s_section"></label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="card mt-3">
|
||
|
<div class="card-body">
|
||
|
<h5 class="card-title h6">Guardian Details</h5>
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="row">
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="sfathername" class="sfathername form-control" id="sfathername" placeholder="Student Father name" />
|
||
|
<span> Father Name </span>
|
||
|
</label>
|
||
|
<label id="sfathername-error" class="error my-0 px-1 py-0" style="display:none;" for="sfathername"></label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="sfcontact" class="sfcontact form-control" id="sfcontact" placeholder="Father Contact Number" />
|
||
|
<span> Contact Number </span>
|
||
|
</label>
|
||
|
<label id="sfcontact-error" class="error my-0 px-1 py-0" style="display:none;" for="sfcontact"></label>
|
||
|
</div>
|
||
|
<div class="w-100 mt-3"></div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="smothername" class="smothername form-control" id="smothername" placeholder="Student Mother name" />
|
||
|
<span> Mother Name </span>
|
||
|
</label>
|
||
|
<label id="smothername-error" class="error my-0 px-1 py-0" style="display:none;" for="smothername"></label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="smcontact" class="smcontact form-control" id="smcontact" placeholder="Mother Contact Number" />
|
||
|
<span> Contact Number </span>
|
||
|
</label>
|
||
|
<label id="smcontact-error" class="error my-0 px-1 py-0" style="display:none;" for="smcontact"></label>
|
||
|
</div>
|
||
|
|
||
|
<div class="w-100 mt-4"></div>
|
||
|
<h5 class="card-title h6 w-100 px-3">Local Guardian (If any)</h5>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="slgname" class="slgname form-control" id="slgname" placeholder="Full Name" />
|
||
|
<span> Full Name </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="slgaddress" class="slgaddress form-control" id="slgaddress" placeholder="Address" />
|
||
|
<span> Address </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="slgcontact" class="slgcontact form-control" id="slgcontact" placeholder="Contact Number" />
|
||
|
<span> Contact Number </span>
|
||
|
</label>
|
||
|
<label id="smcontact-error" class="error my-0 px-1 py-0" style="display:none;" for="smcontact"></label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="card mt-3">
|
||
|
<div class="card-body">
|
||
|
<h5 class="card-title h6">Permanent Address</h5>
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="row">
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="p_ward_no" class="p_ward_no form-control" id="p_ward_no" placeholder="Ward No." />
|
||
|
<span> Ward No. </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="p_saddress1" class="p_saddress1 form-control" id="p_saddress1" placeholder="Ward No." />
|
||
|
<span> Address </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="p_district" class="p_district form-control" id="p_district" placeholder="District" />
|
||
|
<span> District </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<select name="p_province" class="p_province form-control custom-select" id="p_province">
|
||
|
<option value="">Select Province</option>
|
||
|
<?php foreach ($provinces as $province) { ?>
|
||
|
<option value="<?= $province['name'] ?>" <?= $province['id'] == 7 ? 'selected' : '' ?>><?= $province['name'] ?></option>
|
||
|
<?php } ?>
|
||
|
</select>
|
||
|
<span> Province </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="w-100 mt-3"></div>
|
||
|
<h5 class="card-title h6 w-100 px-3 mt-3">Local Address</h5>
|
||
|
|
||
|
|
||
|
<div class="col">
|
||
|
<input type="checkbox" name="same_as_per_add" id="sameAsPermanentAddress" checked /> Same as Permanent Address
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<div class="w-100 mt-3" id="localAddress">
|
||
|
<div class="row px-3">
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="t_ward_no" class="p_ward_no form-control" id="t_ward_no" placeholder="Ward No." />
|
||
|
<span> Ward No. </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="t_saddress" class="t_saddress form-control" id="t_saddress" placeholder="Ward No." />
|
||
|
<span> Address </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<input type="text" name="t_district" class="t_district form-control" id="t_district" placeholder="District" />
|
||
|
<span> District </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<label class="has-float-label mb-0">
|
||
|
<select name="t_province" class="t_province form-control custom-select" id="t_province">
|
||
|
<option value="">Select Province</option>
|
||
|
<?php foreach ($provinces as $province) { ?>
|
||
|
<option value="<?= $province['name'] ?>" <?= $province['id'] == 7 ? 'selected' : '' ?>><?= $province['name'] ?></option>
|
||
|
<?php } ?>
|
||
|
</select>
|
||
|
<span> Province </span>
|
||
|
</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="card my-3">
|
||
|
<div class="card-body">
|
||
|
<h5 class="card-title">Documents</h5>
|
||
|
<label class="text-danger "> ** Accepted Only JPG and PNG</label>
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="row">
|
||
|
<div class="col-md-6">
|
||
|
<div class="upload-doc">
|
||
|
<label>Passport size photo</label>
|
||
|
<!-- <span id="uploaded-file"> </span> -->
|
||
|
<div class="upload-doc-btn-wrap">
|
||
|
<input type="file" name="photo" id="photo" name="No file uploaded" />
|
||
|
<label for="photo" class="upload-btn" id="uploadBtn1">Upload</label>
|
||
|
<label for="photo" class="upload-btn re-upload-btn" id="uploadBtn2">Upload</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-6">
|
||
|
<div class="upload-doc">
|
||
|
<label>School certificate</label>
|
||
|
|
||
|
<!-- <span id="uploaded-file"> </span> -->
|
||
|
<div class="upload-doc-btn-wrap">
|
||
|
|
||
|
<input type="file" name="school" id="school" name="No file uploaded" accept=".png,.jpg*" />
|
||
|
<label for="school" class="upload-btn" id="uploadBtn3">Upload</label>
|
||
|
<label for="school" class="upload-btn re-upload-btn" id="uploadBtn4">Upload</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-md-6">
|
||
|
<div class="upload-doc">
|
||
|
<label>Exam Results</label>
|
||
|
<!-- <span id="uploaded-file"> </span> -->
|
||
|
<div class="upload-doc-btn-wrap">
|
||
|
<input type="file" name="exam" id="exam" name="No file uploaded" accept=".png,.jpg*" />
|
||
|
<label for="exam" class="upload-btn" id="uploadBtn5">Upload</label>
|
||
|
<label for="exam" class="upload-btn re-upload-btn" id="uploadBtn6">Upload</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="col-md-6">
|
||
|
<div class="upload-doc">
|
||
|
<label>Medical Certificate</label>
|
||
|
<!-- <span id="uploaded-file"> </span> -->
|
||
|
<div class="upload-doc-btn-wrap">
|
||
|
<input type="file" name="medical" id="medical" name="No file uploaded" accept=".png,.jpg*" />
|
||
|
<label for="medical" class="upload-btn" id="uploadBtn7">Upload</label>
|
||
|
<label for="medical" class="upload-btn re-upload-btn" id="uploadBtn8">Upload</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class=" my-2">
|
||
|
<div class="card-body">
|
||
|
|
||
|
<div class="row text-center justify-content-center">
|
||
|
<div class="col-md-8 align-self-center ">
|
||
|
<div class="register-btn">
|
||
|
<button class="btn btn-success btn-sm pr-5 pl-5" type="submit" id="">Add</button>
|
||
|
<a href="<?= base_url(); ?>admin/student" class="btn btn-sm pr-5 pl-5" style="background-color:#032da1;color:white;">Back</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</form>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<!----admin template section end---->
|
||
|
</main>
|
||
|
<!--End right-top side-->
|
||
|
|
||
|
</div>
|
||
|
<script>
|
||
|
// if ($("#sameAsPermanentAddress").is(':checked'))
|
||
|
// $("#localAddress").show(); // checked
|
||
|
// else
|
||
|
$("#localAddress").hide(); // unchecked
|
||
|
|
||
|
$('#sameAsPermanentAddress').change(function() {
|
||
|
if ($(this).is(":checked")) {
|
||
|
// it is checked
|
||
|
$("#localAddress").hide();
|
||
|
} else {
|
||
|
$("#localAddress").show();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
$("#p_icon3").click(function() {
|
||
|
|
||
|
$(this).toggleClass("icon-y");
|
||
|
|
||
|
var input = $("#password3");
|
||
|
if (input.attr("type") == "password") {
|
||
|
input.attr("type", "text");
|
||
|
} else {
|
||
|
input.attr("type", "password");
|
||
|
}
|
||
|
});
|
||
|
$("#p_icon4").click(function() {
|
||
|
|
||
|
$(this).toggleClass("icon-y");
|
||
|
|
||
|
var input = $("#password4");
|
||
|
if (input.attr("type") == "password") {
|
||
|
input.attr("type", "text");
|
||
|
} else {
|
||
|
input.attr("type", "password");
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// $('#sbatch').change(function() {
|
||
|
// var sbatch = $(this).val();
|
||
|
// $('#totalfee').val('');
|
||
|
// var divData='';
|
||
|
// if (sbatch != '' && sbatch != 0) {
|
||
|
// $('#batch_error').addClass("d-none");
|
||
|
// $.ajax({
|
||
|
// url: "<?php //echo base_url();
|
||
|
?>Admin/get_batch_course",
|
||
|
// method: "post",
|
||
|
// data: {
|
||
|
// batch_id: sbatch,
|
||
|
// },
|
||
|
// dataType: "json",
|
||
|
// success: function(response) {
|
||
|
|
||
|
// divData += "<option value=''> Select Course </option>";
|
||
|
// if(response != ''){
|
||
|
// $.each(response, function(i, coursedata) {
|
||
|
// divData += "<option value='"+coursedata.id+"'>"+coursedata.course_name+"</option>";
|
||
|
// });
|
||
|
// }
|
||
|
// else {
|
||
|
// divData += "<option value=''> -- No course's Found --</option>";
|
||
|
// // $('#course_error_msg').text("Please create application fee for particular course");
|
||
|
// }
|
||
|
// $('#scourse').empty().append(divData);
|
||
|
// }
|
||
|
// });
|
||
|
// } else {
|
||
|
// $('#batch_error').removeClass("d-none");
|
||
|
// }
|
||
|
// });
|
||
|
|
||
|
|
||
|
$('#scourse').change(function() {
|
||
|
var course = $('#scourse option:selected').val();
|
||
|
var batch = $('#sbatch option:selected').val();
|
||
|
var divData = '';
|
||
|
var div_data = '';
|
||
|
var total_fee = '';
|
||
|
$('#fee-section').html("");
|
||
|
$('#total-fee').text();
|
||
|
if (course != '' && course != 0) {
|
||
|
$('#course_error').addClass("d-none");
|
||
|
$.ajax({
|
||
|
url: "<?php echo base_url(); ?>Admin/get_section_by_course",
|
||
|
method: "post",
|
||
|
data: {
|
||
|
course_id: course,
|
||
|
batch_id: batch
|
||
|
},
|
||
|
dataType: "json",
|
||
|
success: function(response) {
|
||
|
|
||
|
|
||
|
// section options code and start from here
|
||
|
|
||
|
divData += "<option value=''> Select Section </option>";
|
||
|
if (response.sections != '') {
|
||
|
$.each(response.sections, function(i, sectiondata) {
|
||
|
divData += "<option value='" + sectiondata.section_id + "'>" + sectiondata.section_name + "</option>";
|
||
|
});
|
||
|
}
|
||
|
// $('#course_error_msg').text();
|
||
|
else {
|
||
|
divData += "<option value=''> -- No Section's Found --</option>";
|
||
|
|
||
|
}
|
||
|
$('#s_section').empty().append(divData);
|
||
|
// section options code here End from here
|
||
|
|
||
|
}
|
||
|
});
|
||
|
} else {
|
||
|
$('#course_error').removeClass("d-none");
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
<script>
|
||
|
jQuery.validator.addMethod("fullnameregex", function(value, element) {
|
||
|
return this.optional(element) || /^[a-zA-Z]{3,30}$/.test(value);
|
||
|
}, 'Please enter alpha characters only ');
|
||
|
|
||
|
jQuery.validator.addMethod("passwordregex", function(value, element) {
|
||
|
return this.optional(element) || /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$#!%*?&])[A-Za-z\d@$!%*#?&]{6,16}$/.test(value);
|
||
|
}, 'Your password must be atleast 6 characters long, which inculdes one upper case, one numerical value and one special character.');
|
||
|
|
||
|
jQuery.validator.addMethod("emailregex", function(value, element) {
|
||
|
return this.optional(element) || /^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,8}$/.test(value);
|
||
|
}, 'Email Address is invalid: Please enter a valid email address.');
|
||
|
|
||
|
|
||
|
jQuery.validator.addMethod("phonenumberregex", function(value, element) {
|
||
|
return this.optional(element) || /^[0-9]{8,14}$/.test(value);
|
||
|
}, 'Please enter a 8-14 digits vaild phone number.');
|
||
|
|
||
|
jQuery.validator.addMethod("zipregex", function(value, element) {
|
||
|
return this.optional(element) || /^[0-9]{3,8}$/.test(value);
|
||
|
}, 'Please enter 3 - 8 digits number: digits only allowed');
|
||
|
|
||
|
jQuery.validator.addMethod("genral_regex", function(value, element) {
|
||
|
return this.optional(element) || /^[a-zA-Z -#]{1,50}$/.test(value);
|
||
|
}, 'Please enter alpha characters only');
|
||
|
|
||
|
jQuery.validator.addMethod("alphanumeric_regex", function(value, element) {
|
||
|
return this.optional(element) || /^[a-zA-Z0-9 -#]{1,50}$/.test(value);
|
||
|
}, 'Please enter alpha characters only');
|
||
|
|
||
|
var v = $("#addEditBatchForm").validate({
|
||
|
|
||
|
ignore: ':hidden',
|
||
|
|
||
|
rules: {
|
||
|
sname: {
|
||
|
required: true,
|
||
|
minlength: 3,
|
||
|
maxlength: 30,
|
||
|
},
|
||
|
ssname: {
|
||
|
required: true,
|
||
|
minlength: 1,
|
||
|
genral_regex: true
|
||
|
},
|
||
|
semail: {
|
||
|
required: true,
|
||
|
email: true,
|
||
|
emailregex: true
|
||
|
},
|
||
|
semailre: {
|
||
|
required: true,
|
||
|
equalTo: '[name="semail"]'
|
||
|
},
|
||
|
spaswd: {
|
||
|
required: true,
|
||
|
minlength: 6,
|
||
|
maxlength: 12,
|
||
|
passwordregex: true
|
||
|
},
|
||
|
spaswdre: {
|
||
|
required: true,
|
||
|
equalTo: '[name="spaswd"]'
|
||
|
},
|
||
|
scontact: {
|
||
|
required: true,
|
||
|
minlength: 8,
|
||
|
maxlength: 14,
|
||
|
phonenumberregex: true
|
||
|
},
|
||
|
sdob: "required",
|
||
|
sgender: {
|
||
|
required: true
|
||
|
},
|
||
|
scourse: {
|
||
|
required: true
|
||
|
},
|
||
|
sbatch: {
|
||
|
required: true
|
||
|
},
|
||
|
s_section: {
|
||
|
required: true
|
||
|
},
|
||
|
semfname: {
|
||
|
required: true,
|
||
|
genral_regex: true
|
||
|
},
|
||
|
semlname: {
|
||
|
required: true,
|
||
|
minlength: 1,
|
||
|
genral_regex: true
|
||
|
},
|
||
|
semphone: {
|
||
|
required: true,
|
||
|
minlength: 8,
|
||
|
maxlength: 14,
|
||
|
phonenumberregex: true
|
||
|
},
|
||
|
scountry: {
|
||
|
required: true,
|
||
|
genral_regex: true
|
||
|
|
||
|
},
|
||
|
sstate: {
|
||
|
required: true,
|
||
|
genral_regex: true
|
||
|
},
|
||
|
saddress1: {
|
||
|
required: true
|
||
|
},
|
||
|
szipcode: {
|
||
|
required: true,
|
||
|
zipregex: true
|
||
|
},
|
||
|
sibling_id: {
|
||
|
required: true,
|
||
|
alphanumeric_regex: true
|
||
|
},
|
||
|
// school: {
|
||
|
// required: true,
|
||
|
// },
|
||
|
// photo: {
|
||
|
// required: true,
|
||
|
// },
|
||
|
// exam: {
|
||
|
// required: true,
|
||
|
// },
|
||
|
// medical: {
|
||
|
// required: true,
|
||
|
// },
|
||
|
amount: {
|
||
|
required: true
|
||
|
},
|
||
|
totalfee: 'required',
|
||
|
payment_method: 'required'
|
||
|
|
||
|
},
|
||
|
messages: {
|
||
|
|
||
|
semailre: {
|
||
|
required: "Enter your Email",
|
||
|
equalTo: "Please enter the same email address again.",
|
||
|
},
|
||
|
spaswdre: {
|
||
|
equalTo: "Please enter the same password again.",
|
||
|
},
|
||
|
semphone: {
|
||
|
minlength: "Please Enter a 8 digits valid phone Number",
|
||
|
maxlength: "Please Enter a 14 digits valid phone Number",
|
||
|
|
||
|
},
|
||
|
scontact: {
|
||
|
minlength: "Please Enter a 8 digits valid phone Number",
|
||
|
maxlength: "Please Enter a 14 digits valid phone Number",
|
||
|
|
||
|
},
|
||
|
payment_method: {
|
||
|
required: "Please Select Payment Method",
|
||
|
},
|
||
|
totalfee: {
|
||
|
required: "Fees required",
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
},
|
||
|
submitHandler: function(form, e) {
|
||
|
e.preventDefault();
|
||
|
var appFee = $('#totalfee').val();
|
||
|
var cash = $("#payment_method option:selected").val();
|
||
|
var dic = $("#dicount_scholar option:selected").val();
|
||
|
|
||
|
if (cash === 'cash' && (dic === 'discount' || dic === 'scholarship')) {
|
||
|
if (!$('.dynamic_discount').val()) {
|
||
|
$('.item_err').empty();
|
||
|
$('.dynamic_discount').after(
|
||
|
'<span class="item_err" style="color:red">Please enter amount </span>');
|
||
|
|
||
|
} else if (parseInt($('.dynamic_discount').val()) > parseInt(appFee)) {
|
||
|
$('.item_err').empty();
|
||
|
$('.dynamic_discount').after(
|
||
|
'<span class="item_err" style="color:red">Please enter amount which is less than the current fee (' +
|
||
|
appFee + ')</span>');
|
||
|
|
||
|
} else {
|
||
|
$('.item_err').empty();
|
||
|
form.submit();
|
||
|
|
||
|
}
|
||
|
|
||
|
} else {
|
||
|
$('.item_err').empty();
|
||
|
form.submit();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
|
||
|
function add_dicount_scholar(ele) {
|
||
|
|
||
|
$('#discount_scholarship_div').empty();
|
||
|
if (ele.value == 'discount' || ele.value == 'scholarship') {
|
||
|
$('#discount_scholarship_div').append(
|
||
|
'<input type="text" onkeypress="return numbersOnlyValidation(event)" min="0" onkeyup="deductAmountFromTotalFee(this)" name="scOrDesc" class="dynamic_discount form-control" placeholder="Enter the amount" class="form-control" />'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
const deductAmountFromTotalFee = (input_item) => {
|
||
|
let deductAmt = (input_item.value) ? input_item.value : 0
|
||
|
let totalfee = $('#totalfee').val();
|
||
|
let TotalpayableAmt = (totalfee) ? totalfee : 0;
|
||
|
|
||
|
if (parseInt(deductAmt) > parseInt(TotalpayableAmt)) {
|
||
|
$('.item_err').empty();
|
||
|
$(input_item).after(
|
||
|
'<span class="item_err" style="color:red">Please enter amount which is less than the current fee (' +
|
||
|
TotalpayableAmt + ')</span>');
|
||
|
} else {
|
||
|
$('.item_err').empty();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
function numbersOnlyValidation(e) {
|
||
|
|
||
|
var keyCode = e.keyCode || e.which;
|
||
|
|
||
|
//Regex for Valid Characters i.e. Alphabets and Numbers.
|
||
|
var regex = /^[0-9]+$/;
|
||
|
|
||
|
//Validate TextBox value against the Regex.
|
||
|
var isValid = regex.test(String.fromCharCode(keyCode));
|
||
|
|
||
|
return isValid;
|
||
|
}
|
||
|
</script>
|
||
|
<script type="text/javascript">
|
||
|
$(function() {
|
||
|
$("#sibling").change(function() {
|
||
|
if (this.checked) {
|
||
|
$('#sibling_outer_div').show();
|
||
|
} else {
|
||
|
$('#sibling_outer_div').hide();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$('#sibling_id').change(function() {
|
||
|
let val = $(this).val();
|
||
|
|
||
|
if (val.length > 0) {
|
||
|
$.ajax({
|
||
|
url: '<?php echo base_url() ?>' + 'admin/ajax_check_if_exists',
|
||
|
data: {
|
||
|
value: val,
|
||
|
column: 'studentId',
|
||
|
table: 'students',
|
||
|
required: 'parent_username'
|
||
|
},
|
||
|
type: 'POST',
|
||
|
async: false,
|
||
|
success: function(data) {
|
||
|
console.log(data);
|
||
|
$('#sibling_id_err').empty();
|
||
|
if (data == 'failed') {
|
||
|
console.log('failed');
|
||
|
$('#sibling_id_err').text('There is no student with provided Id : ' + val);
|
||
|
$('#sibling_id').val('');
|
||
|
} else {
|
||
|
console.log(data);
|
||
|
$('#sibling_parent').val(data);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
})
|
||
|
|
||
|
})
|
||
|
</script>
|