Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: поле изображение

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: отправка данных формы
StelthForce
Отправлено: 09 Января, 2007 - 12:18:40
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Дек. 2006  


Помог: 0 раз(а)




Вот имеется такое поле изображение, надобно сделать отправку данных формы серверу по тиgу Submit
<input name="ins" id="ins" type="image" align="absbottom" src="../calendar/images/ok1.gif">
Подскажите как именно реализовать обработку этого поля для достижения вышеуказанной задачи...
Заранее всем объявляется благодарность от лица всех тех кого нет...Подмигивание
 
 Top
evgenijj
Отправлено: 09 Января, 2007 - 12:44:06
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Ты создал кнопку отправки в виде графического изображения. При нажатии на нее данные формы будут отправлены на сервер. Эти данные (для input type="text" или type="checkbox") обрабатываешь на стороне сервера. Зачем обрабатывать кнопку отправки? Она конечно содержит данные (по-моему координаты мыши в момент щелчка) - но ты уверен, что именно это тебе нужно? Честно, не встречал приложений, где это было нужно.
 
 Top
StelthForce
Отправлено: 09 Января, 2007 - 12:48:16
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Дек. 2006  


Помог: 0 раз(а)




И еще, мне надобно иметь идентификатор иль имя поля изображения типа
id="ins" или name="ins" для получения $_POST нажатия данной кнопки, а не корявые координаты ins_x и ins_y, которые никак не идентифицируют поле изображение.

Помогите, вразумите...Однако\n\n(Добавление)
evgenijj пишет:
Ты создал кнопку отправки в виде графического изображения. При нажатии на нее данные формы будут отправлены на сервер. Эти данные (для input type="text" или type="checkbox") обрабатываешь на стороне сервера. Зачем обрабатывать кнопку отправки? Она конечно содержит данные (по-моему координаты мыши в момент щелчка) - но ты уверен, что именно это тебе нужно? Честно, не встречал приложений, где это было нужно.


Вот конкретнее трабла
у меня 2-ва поля дата начала и дата конца(период). Оба поля заполняются при помощи скрипта "календарь". в скрипте календарь кнопа одна, вот я и хотел сделать две кнопы для и выбора необходимой при задании дат (начала или окончания) я конечно понимаю что можно избежать трудностей и обойтись без изображения но теряется вид календаря, а это не есть гуд...
 
 Top
evgenijj
Отправлено: 09 Января, 2007 - 13:21:09
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Цитата:

Вот конкретнее трабла
у меня 2-ва поля дата начала и дата конца(период). Оба поля заполняются при помощи скрипта "календарь". в скрипте календарь кнопа одна, вот я и хотел сделать две кнопы для и выбора необходимой при задании дат (начала или окончания) я конечно понимаю что можно избежать трудностей и обойтись без изображения но теряется вид календаря, а это не есть гуд...

Все равно непонятно. Небольшой кусок кода объяснил бы гораздо больше. Есть какая-то форма, и в ней два поля input type="text", в которые надо ввести даты начала и конца периода. Для упрощения задачи используется JavaScript-календарь(?). Щелкаешь на кнопочку рядом с полем ввода даты и появляется всплывающее окошко с календарем. Так?

У меня это выглядит примерно так:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <input type="text" name="date" value="20.11.2006" size="10" maxlength="10">
  3. <script language="JavaScript" src="/js/calendar/calendar.js"></script>
  4. <script language="JavaScript">
  5. var date = new calendar_create(document.forms['frm'].elements['date']);
  6. </script>
  7. <a href="javascript:date.popup();"><img src="/js/calendar/calendar.gif" alt="Выбрать" title="Выбрать" border="0"></a>
  8.  
 
 Top
StelthForce
Отправлено: 10 Января, 2007 - 09:38:40
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Дек. 2006  


Помог: 0 раз(а)




[quote=evgenijj]
Вот так у меня это дело выглядит, с javascript календарём ты в точку попал, выпад календаря у меня реализован как слой, кстати, подскажи скрипт эффекта разворачивания(типа по диагонали).
Это две даты(период) основной формы
CODE (text):
скопировать код в буфер обмена
  1.  <tr>
  2.     <td align="right"><font class="smallred">*</font><font class="smallbold">Дата начала:</font></td>
  3.     <td><input name="textfield4" type="text" class="input1" size="7" maxlength="10" value="<?echo $textfield4?>"><input name="start" type="submit" value="Изменить"></td>
  4.   </tr>
  5.   <tr>
  6.     <td align="right"><font class="smallred">*</font><font class="smallbold">Дата окончания:</font></td>
  7.     <td><input name="textfield5" type="text" class="input1" size="7" maxlength="10" value="<?echo $textfield5?>"><input name="end" type="submit" value="Вставить"></td>
  8.   </tr>


CODE (text):
скопировать код в буфер обмена
  1. <div id="2" style="position:relative; top:-136; left:49%; width:220px; height:207px; background-color:#dadab6; border:2px solid #808040;">
  2. <body onLoad="write_calendar(0, 0)" leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" bottommargin="0" topmargin="0" cellpadding="5">
  3. <div>&nbsp;</div>
  4.       <form method="post" name="placeobj" id="placeobj">
  5.          <table align="center" CELLPADDING="0" SPACEADDING="0">
  6.            <tr>
  7.              <td>
  8.                 <font class="datename">Дата:&nbsp;</font>
  9.                 <input name="expiry_date" type="text" id="expiry_date" size="10" class="inputdate">
  10.                 <input type="submit" name="sdate" value="Задать">
  11.              <td>
  12.            </tr>
  13.          </table>
  14.             <table border="0" cellspacing="2" align="center">
  15.                <tr>
  16.                    <td>
  17.                        <iframe id="cldr" name="cldr"  scrolling="no" frameborder="0" hspace="0" marginheight="0"  marginwidth="0" vspace="0" height="160" width="170"></iframe>
  18.                    </td>
  19.                </tr>
  20.             </table>
  21.             <input type="hidden" name="textfield1" value="'.$textfield1.'">
  22.             <input type="hidden" name="textfield2" value="'.$textfield2.'">
  23.             <input type="hidden" name="textfield3" value="'.$textfield3.'">
  24.             <input type="hidden" name="textfield4" value="'.$textfield4.'">
  25.             <input type="hidden" name="textfield5" value="'.$textfield5.'">
  26.             <input type="hidden" name="textfield6" value="'.$textfield6.'">
  27.       </form>
  28.    </body>
  29. </div>


Спасибо за участие уяснения проблемы....Ниндзя
 
 Top
evgenijj
Отправлено: 10 Января, 2007 - 12:39:26
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Так. Оба вроде говорим по-русски, но друг друга не понимаем. У тебя на странице три (?!) формы, если судить по количеству кнопок submit. Или это две страницы - на первой надо нажать кнопку "Выбрать дату", а на второй ввести значения даты начала и даты конца (?).

Тебе надо заполнить одну форму, и отправить данные для обработки СЕРВЕРНОМУ (php) скрипту. Чтобы облегчить пользователю жизнь, ты пишешь (или используешь готовый) КЛИЕНТСКИЙ (javascript) скрипт календарика.

И еще. При нажатии кнопки отправки данные формы отсылаются серверному скрипту, указанному в атрибуте action тега form. Этот атрибут у тебя не указан, а он является обязательным.

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

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if ( !isset( $_POST["sdate"] ) )
  4. {
  5.     // Если форма еще не заполнена
  6. ?>
  7.     <form name="myform" action="index.php" method="POST">
  8.     < script language="JavaScript" src="/js/calendar/calendar.js"></script>
  9.     < script language="JavaScript">
  10.     var start = new calendar_create(document.forms['myform'].elements['start']);
  11.     var end = new calendar_create(document.forms['myform'].elements['end']);
  12.     < /script>
  13.     Дата начала: <input type="text" name="start" value="<? echo $textfield4 ?>" />
  14.     <a href="javascript:start.popup();"><img src="/js/calendar/calendar.gif" alt="Выбрать"    title="Выбрать" border="0" /></a>
  15.     Дата окончания: <input type="text" name="end" value="<? echo $textfield5 ?>" />
  16.     <a href="javascript:end.popup();"><img src="/js/calendar/calendar.gif" alt="Выбрать" title="Выбрать" border="0" /></a>
  17.     <input type="hidden" name="textfield1" value="<? echo $textfield1 ?>" />
  18.     <input type="hidden" name="textfield2" value="<? echo $textfield2 ?>" />
  19.     <input type="hidden" name="textfield3" value="<? echo $textfield3 ?>" />
  20.     <input type="submit" name="sdate" value="Задать" />
  21.     </form>
  22. <?PHP
  23. }
  24. else
  25. {
  26.     // Если форма была заполнена
  27.     echo "Дата начала: ".$_POST["start"]."<br />";
  28.     echo "Дата окончания: ".$_POST["end"]."<br />";
  29.     echo "Поле textfield1: ".$_POST["textfield1"]."<br />";
  30.     echo "Поле textfield2: ".$_POST["textfield2"]."<br />";
  31.     echo "Поле textfield3: ".$_POST["textfield3"]."<br />";
  32. }
  33. ?>
  34.  

Скрипт календаря можно взять здесь: http://boroda[dot]yard[dot]ru/java_calendar/index.php
 
 Top
StelthForce
Отправлено: 11 Января, 2007 - 08:23:07
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Дек. 2006  


Помог: 0 раз(а)




evgenijj пишет:
Так. Оба вроде говорим по-русски, но друг друга не понимаем.


У меня два поля дат (начало периода конец периода).
Обе кнопки вызывают одну и туже форму календаря (сам календарь жабаскрипт), а вот в зависимости от нажатой кнопки(начало периода конец периода) на форме выводится нужная кнопка типа submit отправляющая данные, вот по этой кнопке я и могу определить какому полю принимать дату с POST.
А что касается ACTION ="" у меня эта фигня не задана, потому как если обработчик формы находится в том же файле, что и сама форма это не нужно...
ФОРМА
CODE (text):
скопировать код в буфер обмена
  1. <tr>
  2.     <td align="right"><font class="smallred">*</font><font class="smallbold">Дата  начала:</font></td>
  3.     <td><input name="textfield4" type="text" class="input1" size="7" maxlength="10" value="<?echo $textfield4?>"><input name="start" type="submit" value="Изменить"></td>
  4.   </tr>
  5.   <tr>
  6.     <td align="right"><font class="smallred">*</font><font class="smallbold">Дата окончания:</font></td>
  7. </tr>

ОБРАБОТКА
CODE (text):
скопировать код в буфер обмена
  1. if(isset($_POST['start']))
  2. {
  3.    <input type="submit" name="sdate" value="Задать">
  4. }
  5. if(isset($_POST['end']))
  6. {
  7.    <input type="submit" name="edate" value="Задать">
  8. }


Надеюсь так понятней... А хочу я подтверждающую выбранную дату в календаре кнопку иметь в виде изображения и вооще как узнавать что именно это поле изображения к ликнуто, а не еще 50-т других... Привидите ка пли пример если в курсе... Ниндзя
 
 Top
evgenijj
Отправлено: 11 Января, 2007 - 10:16:44
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $textfield4 = "первая";
  4. $textfield5 = "вторая";
  5.  
  6. if ( !isset( $_POST["date"] ) and !isset($_POST['fill']) )
  7. {
  8.     echo "<form action='".$_SERVER["PHP_SELF"]."' name='changeDate' method='POST'>";
  9.     echo "Дата начала: ".$textfield4;
  10.     echo "<button onClick='this.form.date.value=\"start\"; this.form.submit();'>Задать</button><br />";
  11.     echo "Дата окончания: ".$textfield5;
  12.     echo "<button onClick='this.form.date.value=\"end\"; this.form.submit();'>Задать</button>";
  13.     echo "<input type='hidden' name='date' value='' />";
  14.     echo "</form>";
  15. }
  16. else
  17. {
  18.     if ( !isset($_POST['fill']) )
  19.     {
  20.         echo "<form action='".$_SERVER["PHP_SELF"]."' name='fillDate' method='POST'>";
  21.         if ( $_POST['date'] == "start" )  // Если пользователь выбрал форму для заполнения даты начала
  22.             echo "Дата начала: <input type='text' name='sdate' value='".$textfield4."' />";
  23.         else  // Если пользователь выбрал форму для заполнения даты окончания
  24.             echo "Дата окончания: <input type='text' name='edate' value='".$textfield5."' />";
  25.         echo "<input type='submit' name='fill' value='Сохранить' />";
  26.     }
  27.     else
  28.     {
  29.         // Если пользователь заполнил форму fillDate
  30.         if ( isset($_POST['sdate']) )
  31.             echo $_POST['sdate'];
  32.         else
  33.             echo $_POST['edate'];
  34.     }
  35. }
  36. ?>
  37.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB