zvezda_t
3.04.2013 - 15:33
Всем привет!
Уважаемые знатоки, подскажите пожалуйста, как решать подобные задачи.
На форму из массива добавляются поля, при этом одно из полей является списком. Если выбрать элемент списка, то на форму должны добавиться еще поля, при этом желательно, чтобы значения ранее заполненных полей не сбросились.
Подскажите пожалуйста, как правильно это сделать?
$arr[] ='<select name="num" onChange="return submit_form(\'myform\',this);">
<option value="2">arr2</option>
<option value="3">arr3</option>
</select> ';
$arr[] ='<input type="text" value=1 name="test1">';
$arr[] ='<input type="text" value=2 name="test2">';
$arr2[] ='<input type="text" value="Иванов" name="name1">';
$arr2[] ='<input type="text" value="Петров" name="name2">';
$arr3[] ='<input type="text" value="1000" name="sum1">';
$arr3[] ='<input type="text" value="2000" name="sum2">';
if(!empty($_POST))
{
}
<form id="myform" name="myform" metod="POST">
<?php
foreach($arr as $k=>$m)
{
echo $m;
}
?>
<input type="submit" value="сохранить">
</form>
_____________
Что ты сделал сегодня - для завтра?"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
использовать массив
name="test[1]"
name="test[2]"
name="name[1]"
name="name[2]"
и т.д.
а в обработчике в цикле прогонять POST на количество элементов
Игорь_Vasinsky
3.04.2013 - 15:44
$arr['name'][] = '<input name="name">';
$arr['code'][] = '<input name="code">';
$arr['name2'][] = '<input name="name2">';
$arr['select'][] = '<select name="day">';
$arr['select'][] = '<option>val1</option>';
$arr['select'][] = '<option>val2</option>';
$arr['select'][] = '</select>';
$arr['submit'][] = '<input type="submit">';
таким образом - каждый элемент формы в содержится в элементе массива с уникальным индексом
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
zvezda_t
3.04.2013 - 15:46
rooor, не поняла тебя...
у меня для примера показаны все поля текстовые, на самом деле в массиве могут быть и даты и radio и еще селекты.
Игорь_Vasinsky, и каким образом в предложенный тобой массив добавиться массив arr2 или arr3 в зависимости от выбранного элемента списка?
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Игорь_Vasinsky
3.04.2013 - 15:48
а зачем массивы пичкать? создай элемент этого же массива с уникальным ключём - туда и целую форму можешь запихать
что такое форма? - html - строка
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
3.04.2013 - 15:50
можно и по серьёзней структуру взять
$arr[form1][name][] = ...
$arr[form1][surname][] = ..
$arr[form2][name][] = ....
$arr[form2][date][] = ...
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
zvezda_t
3.04.2013 - 15:55
Игорь_Vasinsky, ну ладно создам элемент массива - как программа узнает когда его отображать - а когда не нужно???
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Игорь_Vasinsky
3.04.2013 - 16:04
кто программу пишет? кто массив формирует? ты.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
zvezda_t
3.04.2013 - 17:27
Игорь_Vasinsky
блин, Игорь, так в этом то и был вопрос. как динамически массив создать...
если не отвечаешь - зачем в заблуждение вводить?
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Игорь_Vasinsky
3.04.2013 - 17:38
я вообще больше тебе отвечать не буду. пишешь пишешь. всё об стенку.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
zvezda_t
3.04.2013 - 17:42
Игорь_Vasinskyвот и поговорили
Извини, я была груба.
_____________
Что ты сделал сегодня - для завтра?"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Игорь_Vasinsky
3.04.2013 - 18:09
нормально
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Michael
4.04.2013 - 08:47
Цитата (zvezda_t) |
Если выбрать элемент списка, то на форму должны добавиться еще поля, |
Если появиться они должны для пользователя в момент выбора нужного элемента списка, то делается это на javascript, а на форме они будут в диве, которому менять видимость.
_____________
There never was a struggle in the soul of a good man that was not hard
zvezda_t
4.04.2013 - 10:14
Michael
спасибо, но в этом случае при отправки формы в Post запрос попадут все значения, так же?
и если вдруг пользователь заполнил сначала поля открытые для первого элемента списка, потом выбрал другой элемент списка и заполнил поля и для него...
И тогда мне перед сохранением нужно будет лишнее отсеивать самой?
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Michael
4.04.2013 - 10:28
Отсеивать ничего не надо. Придется выбирать только нужное. В зависимости от значения поля select-а какие другие поля обрабатывать. Это естественный варианта, с сохранением введенного пользователем.
_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.