Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2012, 09:14
Новичок на форуме
Отправить личное сообщение для Override12 Посмотреть профиль Найти все сообщения от Override12
 
Регистрация: 20.09.2012
Сообщений: 1

Выполнение функции по условию
Здравствуйте, нужно сделать валидацию форм регистрации, но проблема в том, что форма на jquery,а я пока не планировал им заниматься, а дело срочное и требует решения, надеюсь на помощь и понимание.

Есть следующий html код:
<head>
<script type="text/javascript">
		function check() {
		var name = document.getElementById('Name');
		if (!name.value) {
			alert('Введите имя!');
			return false;
			} else
			return true;
		}
	</script>


<script type="text/javascript">
        $(document).ready(function() {
            $("#SignupForm").formToWizard({ submitButton: 'SaveAccount' })
            $("#makeWizard").hide();
            $("#info").fadeIn(400);
			} )
        
    </script>

</head>

<body>
    <div id="main">
        <div id="header">
        </div>
        <form id="SignupForm" action="">
        <fieldset>
            <legend>Account information</legend>
            <label for="Name">Name</label>
            <input id="Name" type="text" />
            <label for="Email">Email</label>
            <input id="Email" type="text" />
            <label for="Password">Password</label>
            <input id="Password" type="password" />
        </fieldset>
          <fieldset>
            <legend>Company information</legend>
            <label for="CompanyName">Company Name</label>
            <input id="CompanyName" type="text" />
            <label for="Website">Website</label>
            <input id="Website" type="text" />
            <label for="CompanyEmail">CompanyEmail</label>
            <input id="CompanyEmail" type="text" />
        </fieldset>
        <fieldset>
            <legend>Billing information</legend>
            <label for="NameOnCard">Name on Card</label>
            <input id="NameOnCard" type="text" />
            <label for="CardNumber">Card Number</label>
            <input id="CardNumber" type="text" />
            <label for="CreditcardMonth">Expiration</label>
            <select id="CreditcardMonth">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
            </select>
            <select id="CreditcardYear">
                <option value="2009">2009</option>
                <option value="2010">2010</option>
                <option value="2011">2011</option>
                <option value="2012">2012</option>
                <option value="2013">2013</option>
                <option value="2014">2014</option>
                <option value="2015">2015</option>
                <option value="2016">2016</option>
                <option value="2017">2017</option>
                <option value="2018">2018</option>
                <option value="2019">2019</option>
            </select>        
            <label for="Address1">Address 1</label>
            <input id="Address1" type="text" />
            <label for="Address2">Address 2</label>
            <input id="Address2" type="text" />
            <label for="City">City</label>
            <input id="City" type="text" />
            <label for="City">City</label>
            <select id="Country">
			    <option value="CA">Canada</option>
                <option value="US">United States of America</option>
                <option value="GB">United Kingdom (Great Britain)</option>
                <option value="AU">Australia</option>
                <option value="JP">Japan</option>
                <option value="AF">Afghanistan</option>
                <option value="AX">Aland Island</option>
                <option value="AL">Albania</option>
                <option value="DZ">Algeria</option>
                <option value="AS">American Samoa</option>
                <option value="AD">Andorra</option>
                <option value="AO">Angola</option>
                <option value="AI">Anguilla</option>
                <option value="AQ">Antarctica</option>
                <option value="AG">Antigua & Barbuda</option>
             
            </select>
        </fieldset>
        <p>
            <input id="SaveAccount" type="button" value="Submit form" />
        </p>
        </form>
    </div>

</body>

и jquery скрипт:

(function($) {
    $.fn.formToWizard = function(options) {
        options = $.extend({  
            submitButton: '',  
        }, options); 
        
        var element = this;

        var steps = $(element).find("fieldset");
        var count = steps.size();
        var submmitButtonName = "#" + options.submitButton;
        $(submmitButtonName).hide();

        // 2
        $(element).before("<ul id='steps'></ul>");

        steps.each(function(i) {
            $(this).wrap("<div id='step" + i + "'></div>");
            $(this).append("<p id='step" + i + "commands'></p>");

            // 2
            var name = $(this).find("legend").html();
            $("#steps").append("<li id='stepDesc" + i + "'>Step " + (i + 1) + "<span>" + name + "</span></li>");

            if (i == 0) {
                createNextButton(i);
                selectStep(i);
            }
            else if (i == count - 1) {
                $("#step" + i).hide();
                createPrevButton(i);
            }
            else {
                $("#step" + i).hide();
                createPrevButton(i);
                createNextButton(i);
            }
        });

        function createPrevButton(i) {
            var stepName = "step" + i;
            $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Prev' class='prev'>< Back</a>");

            $("#" + stepName + "Prev").bind("click", function(e) {
                $("#" + stepName).hide();
                $("#step" + (i - 1)).show();
                $(submmitButtonName).hide();
                selectStep(i - 1);
            });
        }

        function createNextButton(i) {
            var stepName = "step" + i;
            $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next ></a>");

            $("#" + stepName + "Next").bind("click", function(e) {
                $("#" + stepName).hide();
                $("#step" + (i + 1)).show();
                if (i + 2 == count)
                    $(submmitButtonName).show();
                selectStep(i + 1);
            });
        }

        function selectStep(i) {
            $("#steps li").removeClass("current");
            $("#stepDesc" + i).addClass("current");
        }

    }
})(jQuery);

как мне сделать, чтобы при нажатие на ссылку "Далее" при пустой форме не переходило на следующий шаг,т.е. функция перехода и создания кнопок не выполнялась?

Последний раз редактировалось Override12, 20.09.2012 в 09:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать выполнение функции в throw? platedz Events/DOM/Window 3 19.08.2012 20:28
При выполнение строки кода вылетаю из функции. developer_ Events/DOM/Window 3 28.07.2011 00:45
Прерывается выполнение функции при смене аргумента mikser763 Общие вопросы Javascript 1 11.10.2010 16:36
Определить выполнение функции BAnder Events/DOM/Window 24 03.02.2009 20:58
Паралельное выполнение одной и той-же функции Сеня AJAX и COMET 3 24.01.2009 20:59