Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: новое окно конкретных размеров
 
 автор: lilu   (14.07.2006 в 21:30)   письмо автору
 
 

Есть анкета, кот. должен заполнить пользователь, чтобы анкета не казалась очень громоздкой , необязательные для заполнения вопросы я сразу не выводила в общую анкету, а оставляла кнопку, при желании пользователь мог нажать на кнопку тогда анкета удлинялась и заполнение продолжалось, в итоге после нажатия на кнопку ПРИНЯТЬ всё это заполнялось в базу.
Но гораздо нагляднее и как-то даже интереснее и красивее если бы дополнительные вопросы выводились не кнопкой, а в виде ссылки , и чтобы анкета не удлинялась а появлялось новое окно небольших размеров с соот-ющими вопросами - человек заполнил нажал принять и вернулся в основную анкету запольнять дальше.
Как это сделать....Или примеры, или может кто-то сам с этим сталкивался!
Или поскажите другой вариант....
Заранее спасибо!

   
 
 автор: mpflash   (14.07.2006 в 22:50)   письмо автору
 
   для: lilu   (14.07.2006 в 21:30)
 

Тут чисто JavaScript и ничего более!!!

   
 
 автор: cheops   (15.07.2006 в 00:03)   письмо автору
 
   для: lilu   (14.07.2006 в 21:30)
 

Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=11182.

   
 
 автор: 12345   (15.07.2006 в 16:25)   письмо автору
 
   для: cheops   (15.07.2006 в 00:03)
 

Да, окно нужных размеров выводится через JS функцией open()

Но лучше вопросы делать не в новом окне (браузер может блокировать окна), а в слое (style.vsibility='visible')

   
 
 автор: lilu   (16.07.2006 в 12:15)   письмо автору
 
   для: 12345   (15.07.2006 в 16:25)
 

Про окна новых размеров понятно, а вот про слои хотелось бы по подробнее :), может это то, что нужно. Как оно вообще работает, если можно с примером.

   
 
 автор: Padonak   (16.07.2006 в 18:25)   письмо автору
 
   для: lilu   (16.07.2006 в 12:15)
 

конечно надо использовать слои. напишешь в теле <div id="Moi_sloi"></div> в а таблице стилей опишешь все что ты о нем думаешь типа:
#Moi_sloi{
position:absolute;
top:0px;
left:0px;
display:none;
color:#000;
background-color:#f0f0f0;
border:2px outset #fff;
z-index:-1;
}

абсолютная позиция даст тебе возможность манипулировать этим слоем всякоразно - например заставить его ездить по экрану или занимать всегда место в центре. поскольку возможны разные варианты контента твоего слоя то надо в скрипте прописать их вроде этого:

<script language="JavaScript" type="text/javascript">
var contents = new Array();
contents[0] = "один вариант";
contents[1] = "другой вариант";
contents[2] = "третий вариант";

//и потом когда ты будешь делать слой видимым вставляй тот вариант который нужно
//а видимым слой делается примерно вот так:

function showDiv(contNum){
var sloi = document.getElementById("Moi_sloi");
sloi.style.display = "block";
sloi.innerHTML = contents[contNum];
sloi.style.zIndex = "500";
}
</script>

ну и вызов функции приурочишь к каким-то своим событиям я уж не знаю.

   
 
 автор: lilu   (19.07.2006 в 09:42)   письмо автору
 
   для: Padonak   (16.07.2006 в 18:25)
 

Класс, спасибо за такое объяснение, я до того как это увидела сама стала делать, но возник вопрос - когда на слое нажимаешь на кнопку, то данный слой исчезает и появляется первичный, как его заставить оставаться на месте?
Вот мой код, простенький пример.

<form method="post" action="<?php echo $_SERVER['REQUEST_URI']?>" target="_self">
ФИО: <input name="fio_text" type="text" size="50"> <br>
 возраст: <input name="age_text" type="text" size="10"> <input type="submit" name="test_pr" value="принять">

<div id="formSLayer" 
style="display: none; visibility: visible; position: absolute; z-index: 100; background-color: #808080; width: 500px; height: 300px; left: 5px; top: 10px;" >
образование: <input name="study_text" type="text" size="20"> <br>
сем. положение: <input name="fam_text" type="text" size="10"> <input type="submit" name="test_pr1" value="принять">
<? if($test_pr1){
$rez=mysql_query("Insert into style_table (fio, age, study, fam) values ('$fio_text','$age_text','$study_text','$fam_text')");
  if(
$rez) echo "Добавилось фио, возраст, образование, сем. положение";
}
?></div>
<a href="#" onclick="document.getElementById('formSLayer').style.display='block'; return false;" >дополнительная информация </a>


<?
if($test_pr){
$rez=mysql_query("Insert into style_table (fio, age, study, fam) values ('$fio_text','$age_text','нет','нет')");
  if(
$rez) echo "Добавилось фио, возраст";
}


?>
</form>



Т.е. при нажатии на кнопку $test_pr на 0-ом слое, пишется "Добавилось фио, возраст" и данные заносятся в базу, нажимаем по ссылке - появляется слой тоже с полями для ввода и кнопкой $test_pr1, при нажатии должна появится надпись "Добавилось фио, возраст, образование, сем. положение" и соотв-но все даные записаться в базу. Данные все записываются, а надписи нет и слой прячется, т.е. перед глазами опять первичные поля слоя 0 (мол заново заполняй! :))!
Что мне поправить!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования