Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

динамичная форма

9.8K
28 апреля 2007 года
SanAdlen
53 / / 03.11.2006
Мне нужно сделать форму где человек будет сам выирать количество полей, например:
будет обьект где он вводит число и нажимает кнопку "исправить", в итоге чимло которое он там ввел должно создать столько форм с именем
имя1
имя2
имя3 и т.д. как это сделать?
8
28 апреля 2007 года
mfender
3.5K / / 15.06.2005
А на чём писать будешь?

В любом случае:
1. Челдобрек жмёт кнопку "ещё поле";
2. Рисуем элемент формы для нового поля.
3. Даём новому полю имя, по которому принимающая сторона будет его идентифицировать.
9.8K
28 апреля 2007 года
SanAdlen
53 / / 03.11.2006
вот в том то и прикол что я незна как написать, ну либо phP лиюо Джава скрипт
8
28 апреля 2007 года
mfender
3.5K / / 15.06.2005
Цитата: SanAdlen
вот в том то и прикол что я незна как написать, ну либо phP лиюо Джава скрипт


дык, определись уже....
На JavaScript это делается с помощью DOM. Весь хэлп лежит на microsoft.com и там всё потрясающе понятно расписано.

9.8K
28 апреля 2007 года
SanAdlen
53 / / 03.11.2006
а на php?
еще вопросик, а как сделать это страницы AJAX без перезагрузки страницы...
239
28 апреля 2007 года
Dolonet
1.7K / / 20.05.2000
На PHP это как раз очень легко реализуемо. Начиная от тупого скрипта:
 
Код:
<?php
$rows = (int) $_REQUEST['rows'];

for ($i=0;$i<$rows;$i++) {
    echo "<input type='text' name='name$i' /><br />";
}

?>
9.8K
28 апреля 2007 года
SanAdlen
53 / / 03.11.2006
спасибо, а AJAX ка реализовать?
239
28 апреля 2007 года
Dolonet
1.7K / / 20.05.2000
Это уже RTFM, который, например, тут.
Тем более, AJAX как таковой нужен, когда требуется обмен данными с сервером. А добавить поле на страничке можно и без этого, если задачка не специфическая.
9.8K
28 апреля 2007 года
SanAdlen
53 / / 03.11.2006
да вот какраз специфическая, буду благодарен если скажешь как сделать без перезагрузки странице, остальное я сделаю сам...
239
28 апреля 2007 года
Dolonet
1.7K / / 20.05.2000
Ок, попробуем выяснить сначала что нужно с сервера брать, чтобы добавить поле в формочку?
И какова специфика задачи?
9.8K
28 апреля 2007 года
SanAdlen
53 / / 03.11.2006
вообщем задача такова, нужно что-бы по нажатию кнопки без перезеагрузки странички, показывала столько полей сколько введено было в поле пользователя...
92
28 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
про это тебе уже сказали, всё делается с помощью JS и DOM. Ajax тут вооообще непричем.

ввёл количество полей, нажал кнопку, появились поля с именами, которые раздает JS.

[html]
<script>
var counter = 1; // предположим что у тебя одно поле уже есть и counter добавлен в конец. ну скажем name1 :)

function add_fields(count) {
var i = counter+1;
for (; i <= (counter+count*1); i++) {
document.getElementById('div_container').innerHTML += counter+")&nbsp;<input type='text' name='name"+i+"'><br>\n";
}
counter += count*1+1;
}
</script>

<body>

<input type="text" id="cnt2add" value="1"><button onclick="add_fields(document.getElementById('cnt2add').value)">Add</button>

<div id="div_container">
<input type="text" name="name1"><br>
</div>

</body>
[/html]

пофиксал, тока там насчет постфикса имени поля я не уверен :D
15K
28 апреля 2007 года
Vert
37 / / 18.01.2007
хочу по теме задать вопрос, есть три формы (select), содержимое которых изменяется взависимости от выбора предыдущих (первая статическая), причём выборка последующих происходит через запрос к базе мускуль. Внимание вопрос(ы)! как прописать в пхп явускрипт (начало и конец) (если не ошибаюсь, то писать все поля через echo, я прав? :) )? если в функции явыскрипт написать выборку (пхп), она будет привязана к этой функции? Ну и собственно главный вопрос, мож у кого уже есть готовый скрипт? :))))
92
28 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
нет не будет привязана.

хоть через echo хоть через print, как удобнее....

если ты в PHP напишешь выводом на экран JS, в котором будет голый код PHP, то PHP внутри JS не выполнится.... это же просто вывод...

а если между выводами JS ты будешь писать результаты выборки, которую осуществляет PHP, то всё будет хорошо, ведь это просто строчки... HTML
239
28 апреля 2007 года
Dolonet
1.7K / / 20.05.2000
Vert, без обид, но может быть, тебе стоит подучить PHP и что он может?
Тут можно учить PHP
Тут тоже можно
15K
29 апреля 2007 года
Vert
37 / / 18.01.2007
Dolonet, никаких обид, я как раз этим и занимаюсь последние дней 20 - учу :) спасибо за ссылки :)
просто порой очень долго приходится искать ответ на элементарный вопрос, обидно за время... :(
345
29 апреля 2007 года
vadim_k
312 / / 01.08.2006
Хотел бы добавить маленький нюансик.
Если делать генерацию новых форм на JavaScript то исходный код страницы видимый поискавиками будет меньше.
9.8K
01 мая 2007 года
SanAdlen
53 / / 03.11.2006
Вообщем тут ее один прикол появился, с тем же кодом, как сделать так что-бы вот он обрабатывал
 
Код:
$rows = (int) $_REQUEST['rows'];

for ($i=0;$i<$rows;$i++) {
    echo "Имя:<input type='text' name='name$i' /><br />Тема:<input type='text' name='thm$i' /><br />Сообщение:<textarea name=\"message$i\"></textarea><br />Вложение:<input type=\"file\" name=\"mail_file$i\" maxlength=\"64\" /><br />";
}

Обрабатывал если в поле Name(значение) есть более чем .{1,} то тогда делать какоелибо действие например
 
Код:
echo "Done"



Вообщем проще говоря:
как сделать так что-бы в одном из появляющихся полей, если будет текст более одного символа то тогда выводит "Done и номер поля"
92
01 мая 2007 года
Тень Пса
2.2K / / 19.10.2006
чёт не понял... а где обрабатывать???? когда пользователь тока вводит, или php-скриптом??? :confused:



[offtop] Dolonet рекламирует intuit.ru :) [/offtop]

7.8K
01 мая 2007 года
Hrew
185 / / 23.04.2007
судя по
Цитата:

echo "Done"


обработка будет производиться php-скриптом.

Цитата:

в поле Name(значение) есть более чем .{1,}


По-русски это называется "если поле не пустое" и проверяется условием

 
Код:
if ($_REQUEST["name$i"] != "") echo "Done";
9.8K
01 мая 2007 года
SanAdlen
53 / / 03.11.2006
спасибо, а как теперь сделать так что-бы этот PhP код делался без перезагрузки странице(AJAX)


кстати тот код оьрабатывает число последнее, а надо чтобы все из полей пробивал
7.8K
02 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата: SanAdlen
кстати тот код оьрабатывает число последнее, а надо чтобы все из полей пробивал



Не могу понять - Вы что, издеваетесь? Какой можеть быть AJAX, если Вы даже о существовании и назначении циклов не знаете? Обзаведитесь для начала книжкой по теме.

92
02 мая 2007 года
Тень Пса
2.2K / / 19.10.2006
в общем, так...

можно не издеваться над людьми ) и над своим мозгом :)

можно все сделать на JS и не париться.....

после вывода полей (PHP), можно сгенерить на лету скрипт JS который будет проверять всё поля по очереди, и если длина свойства value поля != 0 , то будет просто писать рядом [COLOR="DarkRed"]Done[/COLOR]
Код:
<?
echo "<table>"

for ($i=0; $i < $_REQUEST["count"]; $i++)
{
   echo "<tr>".
   "<td><div id='div{$i}'></div></td>\n".
   "<td><input type='text' name='name{$i}' id='id{$i}'></td>\n".
   "</tr>\n";
}
?>

<script>
for (i=0; i < <?$_REQUEST["count"]?>; i++) {
   if (document.getElementById('id'+i).value != "") {
      document.getElementById('div'+i).innerHTML = "Done";
   }
}
</script>


вроде бы должно сработать.... но так гадать я лично, отказываюсь...

если вам нужна реальная помощь, то будьте так любезны изложить всю задачу целиком, тогда будет проще... :)

С наилучшими пожеланиями ;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог