За последние 24 часа нас посетили 17570 программистов и 1924 робота. Сейчас ищут 1199 программистов ...

пожалуйста помогите не знаю в чём проблема

Тема в разделе "JavaScript и AJAX", создана пользователем Grid12, 27 фев 2012.

  1. Grid12

    Grid12 Активный пользователь

    С нами с:
    27 фев 2012
    Сообщения:
    28
    Симпатии:
    0
    есть код который не работает я так понял именно у меня. вот он:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>Jquery Inline Form Validation Engine</title>
    <link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css" media="screen" title="no title" charset="utf-8" />
    <link rel="stylesheet" href="css/template.css" type="text/css" media="screen" title="no title" charset="utf-8" />
    <script src="js/jquery.js" type="text/javascript"></script>
    <script src="js/jquery.validationEngine.js" type="text/javascript"></script>
    <!-- AJAX SUCCESS TEST FONCTION
    <script>function callSuccessFunction(){alert("success executed")}
    function callFailFunction(){alert("fail executed")}
    </script>
    -->
    </head>
    <body>
    <form id="formID" class="formular" method="post" action="#">

    <fieldset>
    <legend>Password</legend>
    <label>
    <span>Password : </span>
    <input class="validate[required,length[6,11]] text-input" type="password" name="password" id="password"/>
    </label>
    <label>
    <span>Confirm password : </span>
    <input class="validate[required,confirm[password]] text-input" type="password" name="password2"/>
    </label>
    </fieldset>
    <fieldset>
    <legend>Email</legend>
    <label>
    <span>Email address : </span>
    <input class="validate[required,custom] text-input" type="text" name="email" id="email" />
    </label>
    <label>
    <span>Confirm email address : </span>
    <input class="validate[required,confirm[email]] text-input" type="text" name="email2"/>
    </label>
    </fieldset>

    <input class="submit" type="submit" value="Проверить и отослать форму"/>
    <hr/>
    </form>

    </body>
    </html>


    файлы js выглядят так: 1-ый "js/jquery.validationEngine.js":


    /*
    * Inline Form Validation Engine, jQuery plugin
    *
    * Copyright(c) 2009, Cedric Dugas
    * [url=http://www.position-relative.net]http://www.position-relative.net[/url]
    *
    * Form validation engine witch allow custom regex rules to be added.
    * Licenced under the MIT Licence
    */

    $(document).ready(function() {

    // SUCCESS AJAX CALL, replace "success: false," by: success : function() { callSuccessFunction() },
    $("[class^=validate]").validationEngine({
    success : false,
    failure : function() {}
    })
    });

    jQuery.fn.validationEngine = function(settings) {
    if($.validationEngineLanguage){ // IS THERE A LANGUAGE LOCALISATION ?
    allRules = $.validationEngineLanguage.allRules
    }else{
    allRules = {"required":{ // Add your regex rules here, you can take telephone as an example
    "regex":"none",
    "alertText":"Внимание! Поле не должно быть пустым!",
    "alertTextCheckboxMultiple":"* Пожалуйста, выберите опцию",
    "alertTextCheckboxe":"* Опция не выбрана"},
    "length":{
    "regex":"Нет",
    "alertText":"Между ",
    "alertText2":" и ",
    "alertText3": " символов"},
    "minCheckbox":{
    "regex":"none",
    "alertText":"Выбрано слишком много!"},
    "confirm":{
    "regex":"none",
    "alertText":"Поля не совпадают!"},
    "telephone":{
    "regex":"/^[0-9\-\(\)]+$/",
    "alertText":"Некорректный номер телефона!"},
    "email":{
    "regex":"/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/",
    "alertText":"Неправильный адрес!"},
    "onlyNumber":{
    "regex":"/^[0-9]+$/",
    "alertText":"Только цифры!"},
    "noSpecialCaracters":{
    "regex":"/^[0-9a-zA-Zа-яА-Я]+$/",
    "alertText":"Специальные символы запрещены!"},
    "onlyLetter":{
    "regex":"/^[а-яА-Я]+$/",
    "alertText":"Только русские буквы!"}
    }
    }

    settings = jQuery.extend({
    allrules:allRules,
    success : false,
    failure : function() {}
    }, settings);


    $("form").bind("submit", function(caller){ // ON FORM SUBMIT, CONTROL AJAX FUNCTION IF SPECIFIED ON DOCUMENT READY
    if(submitValidation(this) == false){
    if (settings.success){
    settings.success && settings.success();
    return false;
    }
    }else{
    settings.failure && settings.failure();
    return false;
    }
    })
    $(this).not("[type=checkbox]").bind("blur", function(caller){loadValidation(this)})
    $(this+"[type=checkbox]").bind("click", function(caller){loadValidation(this)})

    var buildPrompt = function(caller,promptText) { // ERROR PROMPT CREATION AND DISPLAY WHEN AN ERROR OCCUR
    var divFormError = document.createElement('div')
    var formErrorContent = document.createElement('div')
    var arrow = document.createElement('div')


    $(divFormError).addClass("formError")
    $(divFormError).addClass($(caller).attr("name"))
    $(formErrorContent).addClass("formErrorContent")
    $(arrow).addClass("formErrorArrow")

    $("body").append(divFormError)
    $(divFormError).append(arrow)
    $(divFormError).append(formErrorContent)
    $(arrow).html('<div class="line10"></div><div class="line9"></div><div class="line8"></div><div class="line7"></div><div class="line6"></div><div class="line5"></div><div class="line4"></div><div class="line3"></div><div class="line2"></div><div class="line1"></div>')
    $(formErrorContent).html(promptText)

    callerTopPosition = $(caller).offset().top;
    callerleftPosition = $(caller).offset().left;
    callerWidth = $(caller).width()
    callerHeight = $(caller).height()
    inputHeight = $(divFormError).height()

    callerleftPosition = callerleftPosition + callerWidth -30
    callerTopPosition = callerTopPosition -inputHeight -10

    $(divFormError).css({
    top:callerTopPosition,
    left:callerleftPosition,
    opacity:0
    })
    $(divFormError).fadeTo("fast",0.8);
    };
    var updatePromptText = function(caller,promptText) { // UPDATE TEXT ERROR IF AN ERROR IS ALREADY DISPLAYED
    updateThisPrompt = $(caller).attr("name")
    $("."+updateThisPrompt).find(".formErrorContent").html(promptText)

    callerTopPosition = $(caller).offset().top;
    inputHeight = $("."+updateThisPrompt).height()

    callerTopPosition = callerTopPosition -inputHeight -10
    $("."+updateThisPrompt).animate({
    top:callerTopPosition
    });
    }
    var loadValidation = function(caller) { // GET VALIDATIONS TO BE EXECUTED

    rulesParsing = $(caller).attr('class');
    rulesRegExp = /\[(.*)\]/;
    getRules = rulesRegExp.exec(rulesParsing);
    str = getRules[1]
    pattern = /\W+/;
    result= str.split(pattern);

    var validateCalll = validateCall(caller,result)
    return validateCalll

    };
    var validateCall = function(caller,rules) { // EXECUTE VALIDATION REQUIRED BY THE USER FOR THIS FILED
    var promptText =""
    var isError = false
    var prompt = $(caller).attr("name")
    var caller = caller

    for (i=0; i<rules.length;i++){
    switch (rules[i]){
    case "required":
    _required(caller,rules)
    break;
    case "custom":
    _customRegex(caller,rules,i)
    break;
    case "length":
    _length(caller,rules,i)
    break;
    case "minCheckbox":
    _minCheckbox(caller,rules,i)
    break;
    case "confirm":
    _confirm(caller,rules,i)
    break;
    default :;
    }
    }
    if (isError == true){
    ($("."+prompt).size() ==0) ? buildPrompt(caller,promptText) : updatePromptText(caller,promptText)
    }else{
    closePrompt(caller)
    }

    /* VALIDATION FUNCTIONS */
    function _required(caller,rules){ // VALIDATE BLANK FIELD
    callerType = $(caller).attr("type")

    if (callerType == "text" || callerType == "password" || callerType == "textarea"){

    if(!$(caller).val()){
    isError = true
    promptText += settings.allrules[rules[i]].alertText+"<br />"
    }
    }
    if (callerType == "radio" || callerType == "checkbox" ){
    callerName = $(caller).attr("name")

    if($("input[name="+callerName+"]:checked").size() == 0) {
    isError = true
    if($("input[name="+callerName+"]").size() ==1) {
    promptText += settings.allrules[rules[i]].alertTextCheckboxe+"<br />"
    }else{
    promptText += settings.allrules[rules[i]].alertTextCheckboxMultiple+"<br />"
    }
    }
    }
    }
    function _customRegex(caller,rules,position){ // VALIDATE REGEX RULES
    customRule = rules[position+1]
    pattern = eval(settings.allrules[customRule].regex)

    if(!pattern.test($(caller).attr('value'))){
    isError = true
    promptText += settings.allrules[customRule].alertText+"<br />"
    }
    }
    function _confirm(caller,rules,position){ // VALIDATE FIELD MATCH
    confirmField = rules[position+1]

    if($(caller).attr('value') != $("#"+confirmField).attr('value')){
    isError = true
    promptText += settings.allrules["confirm"].alertText+"<br />"
    }
    }
    function _length(caller,rules,position){ // VALIDATE LENGTH

    startLength = eval(rules[position+1])
    endLength = eval(rules[position+2])
    feildLength = $(caller).attr('value').length

    if(feildLength<startLength || feildLength>endLength){
    isError = true
    promptText += settings.allrules["length"].alertText+startLength+settings.allrules["length"].alertText2+endLength+settings.allrules["length"].alertText3+"<br />"
    }
    }
    function _minCheckbox(caller,rules,position){ // VALIDATE CHECKBOX NUMBER

    nbCheck = eval(rules[position+1])
    groupname = $(caller).attr("name")
    groupSize = $("input[name="+groupname+"]:checked").size()

    if(groupSize > nbCheck){
    isError = true
    promptText += settings.allrules["minCheckbox"].alertText+"<br />"
    }
    }
    return(isError) ? isError : false;
    };
    var closePrompt = function(caller) { // CLOSE PROMPT WHEN ERROR CORRECTED
    closingPrompt = $(caller).attr("name")

    $("."+closingPrompt).fadeTo("fast",0,function(){
    $("."+closingPrompt).remove()
    });
    };
    var submitValidation = function(caller) { // FORM SUBMIT VALIDATION LOOPING INLINE VALIDATION
    var stopForm = false
    $(".formError").remove()
    var toValidateSize = $(caller).find("[class^=validate]").size()

    $(caller).find("[class^=validate]").each(function(){
    var validationPass = loadValidation(this)
    return(validationPass) ? stopForm = true : "";
    });
    if(stopForm){ // GET IF THERE IS AN ERROR OR NOT FROM THIS VALIDATION FUNCTIONS
    destination = $(".formError:first").offset().top;
    $("html:not:)animated),body:not:)animated)").animate({ scrollTop: destination}, 1100)
    return true;
    }else{
    return false
    }
    };
    };





    Помогите. подскажите в чём ошибка.
    И ещё такой вопрос нужно ли как-то вообще подключать ajax???
     
  2. denkog

    denkog Активный пользователь

    С нами с:
    24 фев 2012
    Сообщения:
    7
    Симпатии:
    0
    Тут только xdebug + netbeans + Божья помощь и все ок
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в чем беда-то?
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7