Такая проблема возникла
во всех браузерах нормально (даже ИЕ8, 9 не было возможности проверить) работает скрипт валидации
А ИЕ 10 отличился!
При нажатии на кнопку "Order", если не заполнены необходимые поля выскакивает алерт с предупреждением, если все ок снимается атрибут disabled с кнопки и работает обработчик тогда, вернее так происходит во всех браузерах, кроме ИЕ 10.
сайт dev.aroma-swiss.com/en/
ссылка на файл валидатора /modules/mod_formaz/form.js
Код валидатора
$(function() {
var callback = function() {
var carClass = $('select[name="b-type"]').val();
var from = $('select[name="from"]').val();
var to = $('select[name="to"]').val();
var pay = $('select[name="pay"]').val();
if(from == 'select' || to == 'select')
{
$('#price').html('-');
return;
}
if(from == 'airport') {
from = $('select[name="air"]').val();
if(from == 'select')
{
$('#price').html('-');
return;
}
}
if(to == 'airport-to') {
to = $('select[name="air-to"]').val();
if(to == 'select')
{
$('#price').html('-');
return;
}
}
$.ajax({
type: "POST",
url: '/en/book',
data: {
'class': carClass,
from: from,
to: to,
pay: pay
},
success: function(data) {
var price = data.match(/price=([0-9]+)/i);
price = price ? price[1] : '-';
if(!price) price = '-';
if(price != '-') price = price + ' RUB';
$('#price').html(price);
$('input[name="price"]').val(price.replace(' RUB', ''));
},
dataType: 'html'
});
};
$('select').change(callback);
// datepicker code
$("#datepicker").datepicker({
minDate: "now",
maxDate: "+3m",
dateFormat: 'dd-mm-yy',
onSelect: function ()
{
//this.focus();
$(this).removeClass('error');
}
});
// front-side form validation
// check each element separately
$('input[name="from-data"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('select[name="from"]').on('change blur',function(){
if(!$(this).val() || $.trim($(this).val()) == 'select')
$(this).addClass('error');
else
$(this).removeClass('error');
});
// from - address
$('input[name="from-adress"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="hhf"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="mmf"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
// from - airport
$('select[name="air"]').on('change blur',function(){
if(!!$(this).val() || $.trim($(this).val()) != 'select')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="hha"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="mma"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="flightnumber"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
// from - train station
$('select[name="train"]').on('change blur',function(){
if(!!$(this).val() || $.trim($(this).val()) != 'select')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="hht"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="mmt"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="trainnumber"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="wagonnumber"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('select[name="to"]').on('change blur',function(){
if(!$(this).val() || $.trim($(this).val()) == 'select')
$(this).addClass('error');
else
$(this).removeClass('error');
});
// to - address
$('input[name="adress-to"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
// to - airport
$('select[name="air-to"]').on('change blur',function(){
if(!!$(this).val() && $.trim($(this).val()) != 'select')
$(this).removeClass('error');
else
$(this).addClass('error');
});
// to - train station
$('select[name="train-to"]').on('change blur',function(){
if(!!$(this).val() || $.trim($(this).val()) != 'select')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="b-card-1"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="b-card-2"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="b-card-3"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="b-card-4"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('select[name="card-month"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('select[name="card-year"]').on('blur keyup', function(){
if(is_numeric($(this).val()))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="b-holder"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('input[name="nameplate"]').on('blur keyup', function(){
if($.trim($(this).val()) != '')
$(this).removeClass('error');
else
$(this).addClass('error');
});
//$('input[name="phone-client"]').on('blur keyup', function(){
// if($.trim($(this).val()) != '' && (/^\+[0-9]+/).test($.trim($(this).val())))
// $(this).removeClass('error');
// else
// $(this).addClass('error');
// });
$('input[name="mail-client"]').on('blur keyup', function(){
if($.trim($(this).val()) != ''
&& (/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/).test($.trim($(this).val())))
$(this).removeClass('error');
else
$(this).addClass('error');
});
$('#form-submit > div').click(function(){
var ok = true;
if($('input[name="send"]').attr('disabled') == 'disabled')
{
$('form[id*="book"] > div > div').each(function(k,v){
if($(v).css('display') != 'none')
{
$(v).find('input[type="text"]').each(function(k2,v2){
var visible = true;
$.each($(v2).parents(), function() {
if($(this).css('display') == 'none')
visible = false;
});
if($.trim($(v2).val()) == '' && visible)
{
ok = false;
$(v2).addClass('error');
}
else
{
$(v2).removeClass('error');
}
});
$(v).find('select').each(function(k3,v3){
if($.trim($(v3).val()) == '' || $.trim($(v3).val()) == 'select')
{
ok = false;
$(v3).addClass('error');
}
else
{
$(v3).removeClass('error');
}
});
}
});
if($('select[name="pay"]').val() == 'card' && $('input[type="checkbox"]:checked').length == 0)
{
ok = false;
}
}
if(ok === false)
{
var attr = $('input[name="send"]').attr('disabled');
if(typeof attr == 'undefined' || attr == false)
$('input[name="send"]').attr('disabled', 'disabled');
$(this).show();
alert('Пожалуйста, заполните все необходимые поля.');
}
else
{
$('input[name="send"]').removeAttr('disabled');
$(this).hide();
$('form[id*="book"]').submit();
}
});
});
function is_numeric( mixed_var ) {
return ( mixed_var == '' ) ? false : !isNaN( mixed_var );
}