|
|
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
Уважаемые форумчане, подскажите, пожалуйста, новичку. Есть форма, которая заполняется в три этапа. Вот она http://ruseller.com/lessons/les432/example/index.html =================================================== HTML такой: <style type="text/css"> body { font-family:Lucida Sans, Arial, Helvetica, Sans-Serif; font-size:13px; margin:20px;} #main { width:960px; margin: 0px auto; border:solid 1px #b2b3b5; -moz-border-radius:10px; padding:20px; background-color:#f6f6f6;} #header { text-align:center; border-bottom:solid 1px #b2b3b5; margin: 0 0 20px 0; } fieldset { border:none; width:320px;} legend { font-size:18px; margin:0px; padding:10px 0px; color:#b0232a; font-weight:bold;} label { display:block; margin:15px 0 5px;} input[type=text], input[type=password] { width:300px; padding:5px; border:solid 1px #000;} .prev, .next { background-color:#b0232a; padding:5px 10px; color:#fff; text-decoration:none;} .prev:hover, .next:hover { background-color:#000; text-decoration:none;} .prev { float:left;} .next { float:right;} #steps { list-style:none; width:100%; overflow:hidden; margin:0px; padding:0px;} #steps li {font-size:24px; float:left; padding:10px; color:#b0b1b3;} #steps li span {font-size:11px; display:block;} #steps li.current { color:#000;} #makeWizard { background-color:#b0232a; color:#fff; padding:5px 10px; text-decoration:none; font-size:18px;} #makeWizard:hover { background-color:#000;} </style> <script type="text/javascript" src=" http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> <script type="text/javascript" src="formToWizard.js"></script> <script type="text/javascript"> function MakeWizard() { $("#SignupForm").formToWizard({ submitButton: 'SaveAccount' }) $("#makeWizard").hide(); $("#info").fadeIn(400); } </script> </head> <body> <div id="main"> <div id="header"> <p><a id="makeWizard" href="#" onclick="MakeWizard()">Нажмите здесь, чтобы изменить форму</a> <span id="info" style="display:none;">Можете ничего не заполнять. Просто нажимайте на кнопку НЕКСТ :)</span></p> </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> </select> <select id="CreditcardYear"> <option value="2009">2009</option> <option value="2010">2010</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> </select> </fieldset> <p> <input id="SaveAccount" type="button" value="Submit form" /> </p> </form> </div> </body> ================================================================ Код JS следующий: (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); =============================== Подскажите, пожалуйста, можно ли на третьем этапе сделать вывод данных которые были заполнены на первом и втором шаге, перед отправкой данных на сервер. Это чтобы пользователь убедился в правильности заполнения предадущих значений перед нажатием кнопки SUBMIT/ С ув. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 14:05 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltony, можно конечно. И, пожалуйста, оформите код нормально. Тут написано как: " Как мне оформить свое сообщение? " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 14:42 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltonyУважаемые форумчане, подскажите, пожалуйста, новичку. Есть форма, которая заполняется в три этапа. Вот она http://ruseller.com/lessons/les432/example/index.html =================================================== HTML такой: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. ================================================================ Код JS следующий: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. =============================== Подскажите, пожалуйста, можно ли на третьем этапе сделать вывод данных которые были заполнены на первом и втором шаге, перед отправкой данных на сервер. Это чтобы пользователь убедился в правильности заполнения предадущих значений перед нажатием кнопки SUBMIT/ С ув. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 14:55 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltony, так и в чём проблема? Вы не понимаете как работает код в formToWizard.js, и как показать все элементы <fieldset> разом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:11 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
Или что Вы хотите сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:12 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
Я хотел-бы вывести на третьем этапе значения которые он введет на первом и втором этапе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:17 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltonyЯ хотел-бы вывести на третьем этапе значения которые он введет на первом и втором этапе.Ну то есть показать пользователю fieldset-ы "Account information" и "Company information" как по той ссылке, что привели. И в чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:22 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
Мало знаний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:25 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltony, когда Вы нажимаете на кнопку "Нажмите здесь, чтобы изменить форму", то вызывается функция MakeWizard(), что из 3-х fieldset-ов делает 3 шага визарда. При это сами fieldset-ы как были в документе, так и остались. Просто то один скрывается, то другой. Соответсвенно на последнем шаге можно выполнить действия, обратные MakeWizard(), и показать все fieldset-ы. Вы этого хотите, или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:26 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
Хотелось бы таким образом: Пользователь открывает страницу регистрации и видит первый шаг заполения три поля: "Name", "Email" и "Password", заполняет эти три поля. Далее нажимает NEXT, заполняет еще три поля "Company Name","Website" и "CompanyEmail" нажимает NEXT И видит кроме полей для заполнения Billing information, значения которые он ввел ранее "Name", "Email" "Password" и т.д. но не в виде формы, а значения , чтобы он убедился что заполнил правильно и после этого нажимает SUBMIT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:41 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltonyХотелось бы таким образом: Пользователь открывает страницу регистрации и видит первый шаг заполения три поля: "Name", "Email" и "Password", заполняет эти три поля. Далее нажимает NEXT, заполняет еще три поля "Company Name","Website" и "CompanyEmail" нажимает NEXT И видит кроме полей для заполнения Billing information, значения которые он ввел ранее "Name", "Email" "Password" и т.д. но не в виде формы, а значения , чтобы он убедился что заполнил правильно и после этого нажимает SUBMIT.А если не правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:44 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltony, а сверстать последний шаг, как Вам надо, Вы можете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:45 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
Если неправильно, то он нажимает "Back" возвращается и редактирует, просто перед отправкой на сервер, он убедился что он всё правильно заполнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 15:51 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
То, что нужно. Огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 08:24 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltonyТо, что нужно. Огромное спасибо! P.S. Единственное, подскажите, если можно, (слаб я в javascripte) как сделать, чтобы при загрузке страницы, не было "Нажмите здесь, чтобы изменить форму" а открывался сразу первый шаг с тремя полями "Name", "Email", "Password". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 08:32 |
|
||
|
Заполнение формы в три этапа.
|
|||
|---|---|---|---|
|
#18+
veltonyveltonyТо, что нужно. Огромное спасибо! P.S. Единственное, подскажите, если можно, (слаб я в javascripte)Вы не слаб, Вы даже основ не знаете. Начните читать Учебник . Для начала События, взаимодействие с посетителем » События: основы » Введение в браузерные события veltonyкак сделать, чтобы при загрузке страницы, не было "Нажмите здесь, чтобы изменить форму" а открывался сразу первый шаг с тремя полями "Name", "Email", "Password".Очевидно, что нужно убрать кнопку "Нажмите здесь, чтобы изменить форму" из разметки, а метод formToWizard() вызвать после загрузки страницы, а не по клику. http://learn.javascript.ru/play/tQEmz ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 11:09 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38851501&tid=1446376]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 507ms |

| 0 / 0 |
