Изменение содержимого страницы

KolyaA

Guest
Изменение содержимого страницы

У меня есть форма запроса в которой очень большое количество полей.
Я хотел сделать следующее. Пускай первоначально форма запроса состоит из
нескольких кнопок, после нажатия на которые возникает часть полей.
Примерный вид программы следующий:



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>list</TITLE>
<SCRIPT TYPE="text/javascript">
function showBlock1()
{
}
function showBlock2()
{
}
</SCRIPT>
<BODY>
<FORM ACTION="output.php">
<?php
if(!isset($block1))
{
print "
<INPUT TYPE=\"BUTTON\" VALUE=\"BLOCK1\" onClick=\"showBlock1()\">
";
}
else
{
print"
<INPUT TYPE = "CHECKBOX" NAME = "PARAM1">
<INPUT TYPE = "CHECKBOX" NAME = "PARAM2">
...
";
}

if(!isset($block2))
{
print "
<INPUT TYPE=\"BUTTON\" VALUE=\"BLOCK2\" onClick=\"showBlock2()\">
";
}
else
{
print"
<INPUT TYPE = "CHECKBOX" NAME = "PARAM51">
<INPUT TYPE = "CHECKBOX" NAME = "PARAM52">
...
";
}
?>
<INPUT TYPE="SUBMIT" VALUE="OK">
</FORM>


</BODY>
</HTML>

Вопрос в том, какой вид должен быть у функции showBlock1() для того чтобы,
переменной $block1 присвоилось какое-нибудь значение и произошел повторный
вызов программы. Или может быть такой подход вообще не верен?
 

voland

Guest
присвой просто кнопке имя и проверяй его, в соответствии от имени показывай то или это
 

iliah

Новичок
я бы на твоем месте сделал все-таки многостраничную форму,
т.к. судя по твоим словам
> Или может быть такой подход вообще не верен
острой необходимости связанной именно с таким вариантом нет
 

KolyaA

Guest
Я еще не очень хорошо разбираюсь. Что такое многостраничная форма?
 

iliah

Новичок
твое >очень большое количество полей
делишь на логические блоки
выводишь по блоку на страницу, по заполнению - переход на следующую страницу, данные с предыдущей после валидации в сессию, etc.
 

KolyaA

Guest
voland я понял, что ты имеешь, что onClick вообще не нужен. И если не трудно: как проверять посоветуешь?
 

KolyaA

Guest
Нет iliah такое не подходит, вся соль в том чтобы пользователь мог выбирать что ему заполнять, а что ему ненужно вообще не трогал.
А вообще с помощью разбивки на блоки возможно сделать что-нибудь вроде вложенного <FORM> это было бы самое удобное?
 

voland

Guest
Нафига, проще сделать несколько форм или собирать форму в зависимости от нажатия кнопки...
Кстати, что за задача
вся соль в том чтобы пользователь мог выбирать что ему заполнять
 

KolyaA

Guest
Может быть я немного неправильно объяснил, но попробую еще раз. Внизу формы должна быть большая кнопка, только после нажатия на которую все данные из формы отправляются на обработку. Кнопки ответственные за блоки должны только изменять внешний вид формы.
Поэтому проверка $_POST['ButtonName'] упрощает код, но не решает задачи, потому что нет механизма вызывающего бы пограмму повторно при нажатии внутренних кнопок. Задача - каталог пульсаров, у них множество параметров, которые можно разбить на категории. Пользователь может работать только с одной категорией параметров и не трогать другие.
 

iliah

Новичок
KolyaA
решай задачи юзабилити посредством изучения HTML и JavaScript, как дойдешь до ПХП, задашь нормальный вопрос
 

KolyaA

Guest
Я понимаю, что вопрос был по JavaScript а не по PHP, но думал, что здесь кто-нибудь сможет на нег ответить
 
Сверху