2014-09-18 3 views
0

Я пытаюсь проверить форму перед отправкой. Валидация работает нормально, но форма не отправляется. У меня недостаточно знаний о jQuery, но я подозреваю, что это для использования ярлыка $ и jQuery вместе, я прав или проблема в другом месте?

КОД:

<script type="text/javascript"> 

    $('p select[name=country]').change(function(){ 
    if ($('p select[name=country]').val() =='Au') 
    { 
    $('#seldivi').show(); 
    } 

else 
    { 
    $('#seldivi').hide(); 
    } 
}); 



     $(function(){ 
    $("a.mytrigger").click(function(e){ 
     var index = $(this).attr("href").substr(5); 
     $('#navigation li:nth-child('+parseInt(index)+') a').click(); 
     e.preventDefault(); 
    }); 
}); 

//when i remove the following segment of codes the form submitted as usual but when this portion exists the form is not submitted 

      jQuery(function(){ 
       jQuery("#ValidField").validate({ 
        expression: "if (VAL) return true; else return false;", 
        message: "Please enter the Required field" 
       }); 
       jQuery("#ValidNumber").validate({ 
        expression: "if (!isNaN(VAL) && VAL) return true; else return false;", 
        message: "Please enter a valid number" 
       }); 
       jQuery("#ValidInteger").validate({ 
        expression: "if (VAL.match(/^[0-9]*$/) && VAL) return true; else return false;", 
        message: "Please enter a valid integer" 
       }); 
       jQuery("#ValidDate").validate({ 
        expression: "if (!isValidDate(parseInt(VAL.split('-')[2]), parseInt(VAL.split('-')[0]), parseInt(VAL.split('-')[1]))) return false; else return true;", 
        message: "Please enter a valid Date" 
       }); 
       jQuery("#ValidEmail").validate({ 
        expression: "if (VAL.match(/^[^\\W][a-zA-Z0-9\\_\\-\\.]+([a-zA-Z0-9\\_\\-\\.]+)*\\@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)*\\.[a-zA-Z]{2,4}$/)) return true; else return false;", 
        message: "Please enter a valid Email ID" 
       }); 
       jQuery("#ValidPassword").validate({ 
        expression: "if (VAL.length > 5 && VAL) return true; else return false;", 
        message: "Please enter a valid Password" 
       }); 
       jQuery("#ValidConfirmPassword").validate({ 
        expression: "if ((VAL == jQuery('#ValidPassword').val()) && VAL) return true; else return false;", 
        message: "Confirm password field doesn't match the password field" 
       }); 
       jQuery("#ValidSelection").validate({ 
        expression: "if (VAL != '0') return true; else return false;", 
        message: "Please make a selection" 
       }); 
       jQuery("#ValidMultiSelection").validate({ 
        expression: "if (VAL) return true; else return false;", 
        message: "Please make a selection" 
       }); 
       jQuery("#ValidRadio").validate({ 
        expression: "if (isChecked(SelfID)) return true; else return false;", 
        message: "Please select a radio button" 
       }); 
       jQuery("#ValidCheckbox").validate({ 
        expression: "if (isChecked(SelfID)) return true; else return false;", 
        message: "Please check atleast one checkbox" 
       }); 


    }); 
      /* ]]> */ 

+4

Да, вы можете использовать их вместе. '$' является просто псевдонимом для 'jQuery'. – j08691

+0

если да, то почему форма отправляется только при удалении указанной части кода? – query

ответ

2

Длинный ответ короткий: $ является псевдонимом функции JQuery, так что вы можете использовать оба.

Я хочу, чтобы убедиться, что это правильная проблема, используйте jQuery везде вместо $ и читайте о jQuery.noConflict(). Это может решить вашу проблему, если вы используете несколько библиотек, которые используют $.

http://api.jquery.com/jquery.noconflict/

Смежные вопросы