Я использую подключаемый модуль проверки jQuery
для одной из моих форм. Правила проверки работают нормально.
Но мой вопрос: если проверка прошла успешно, после нажатия кнопки отправки отобразится загрузчик gif.
Может кто-нибудь указать мне в правильном направлении, как заставить это работать?
$( "#myform" ).validate({
rules: {
fullname: {
required: true
},
mobile:{
required:true,
minlength: 10,
number:true
},
email:{
required:true,
email:true
}
},
messages: {
fullname: {
required: "Please enter your name"
},
mobile:{
required: "Please enter your mobile number",
minlength:"Minumum length 10 digits"
},
email:{
required: "Please enter your email-id",
email: "Invalid email-id"
}
}
});
.gif-loader
{
display:none;
}
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<div class="gif-loader">
<img src="https://www.voya.ie/Interface/Icons/LoadingBasketContents.gif" />
</div>
<form method="POST" id="myform" class="submit" action="insert.php">
<input type="text" placeholder="Full Name" id="fullname" name="fullname">
<input type="text" maxlength="10" title="Enter your 10 digit mobile number" placeholder="Mobile No." name="mobile" id="mobile" >
<input type="text" placeholder="Email Id" name="email" id="email">
<select name="demo_date" id="demo_date">
<option value="">Select Demo Date</option>
<option value="20-03-2018"> 20th Mar 2018</option>
<option value="21-03-2018"> 21st Mar 2018</option>
<option value="22-03-2018"> 22nd Mar 2018</option>
<option value="23-03-2018"> 23rd Mar 2018</option>
</select>
<select name="demo_time" id="demo_time">
<option value="">Select Time</option>
<option value="10:00 AM">10:00 AM</option>
<option value="04:00 PM">04:00 PM</option>
</select>
<input type="submit" value="Register here" class="download-button" name="submit">
</form>
2 ответа
Используйте эту скрипку
Для этого вам нужно добавить обработчик отправки ...
submitHandler: function() { $(".gif-loader").show(); }
$( "#myform" ).validate({
rules: {
fullname: {
required: true
},
mobile:{
required:true,
minlength: 10,
number:true
},
email:{
required:true,
email:true
}
},
messages: {
fullname: {
required: "Please enter your name"
},
mobile:{
required: "Please enter your mobile number",
minlength:"Minumum length 10 digits"
},
email:{
required: "Please enter your email-id",
email: "Invalid email-id"
}
},
submitHandler: function() { $(".gif-loader").show(); $('#myform').submit();}
});
.gif-loader
{
display:none;
}
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<div class="gif-loader">
<img src="https://www.voya.ie/Interface/Icons/LoadingBasketContents.gif" />
</div>
<form method="POST" id="myform" class="submit" action="insert.php">
<input type="text" placeholder="Full Name" id="fullname" name="fullname">
<input type="text" maxlength="10" title="Enter your 10 digit mobile number" placeholder="Mobile No." name="mobile" id="mobile" >
<input type="text" placeholder="Email Id" name="email" id="email">
<select name="demo_date" id="demo_date">
<option value="">Select Demo Date</option>
<option value="20-03-2018"> 20th Mar 2018</option>
<option value="21-03-2018"> 21st Mar 2018</option>
<option value="22-03-2018"> 22nd Mar 2018</option>
<option value="23-03-2018"> 23rd Mar 2018</option>
</select>
<select name="demo_time" id="demo_time">
<option value="">Select Time</option>
<option value="10:00 AM">10:00 AM</option>
<option value="04:00 PM">04:00 PM</option>
</select>
<input type="submit" value="Register here" class="download-button" name="submit">
</form>
Вы пробовали привязать событие отправки? В плагине есть submitHandler
Чтобы отправить, добавьте $('#myform').submit()
.
Изменить ;
Вместо события отправки я бы отправил его через Ajax, например
submitHandler: function() {
$('.gif-loader').show();
$.post("insert.php", $("#myform").serialize(), function(data) {
alert(data);
$('.gif-loader').hide();
});
}
Однако в этом случае вам может потребоваться изменить способ работы insert.php
.
$( "#myform" ).validate({
//this bit is new.
submitHandler: function() {
$('.gif-loader').show();
},
rules: {
fullname: {
required: true
},
mobile:{
required:true,
minlength: 10,
number:true
},
email:{
required:true,
email:true
}
},
messages: {
fullname: {
required: "Please enter your name"
},
mobile:{
required: "Please enter your mobile number",
minlength:"Minumum length 10 digits"
},
email:{
required: "Please enter your email-id",
email: "Invalid email-id"
}
}
});
.gif-loader
{
display:none;
}
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<div class="gif-loader">
<img src="https://www.voya.ie/Interface/Icons/LoadingBasketContents.gif" />
</div>
<form method="POST" id="myform" class="submit" action="insert.php">
<input type="text" placeholder="Full Name" id="fullname" name="fullname">
<input type="text" maxlength="10" title="Enter your 10 digit mobile number" placeholder="Mobile No." name="mobile" id="mobile" >
<input type="text" placeholder="Email Id" name="email" id="email">
<select name="demo_date" id="demo_date">
<option value="">Select Demo Date</option>
<option value="20-03-2018"> 20th Mar 2018</option>
<option value="21-03-2018"> 21st Mar 2018</option>
<option value="22-03-2018"> 22nd Mar 2018</option>
<option value="23-03-2018"> 23rd Mar 2018</option>
</select>
<select name="demo_time" id="demo_time">
<option value="">Select Time</option>
<option value="10:00 AM">10:00 AM</option>
<option value="04:00 PM">04:00 PM</option>
</select>
<input type="submit" value="Register here" class="download-button" name="submit">
</form>
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.