Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> много кнопок и клик по ним 
V
    Опции темы
Sniper
Дата 15.10.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



на страничке нужно генерировать много кнопок (количество их может меняться)
делаю так
Код

print '<form action="" method="POST">';
for ($i=0;$i<count($buttonarr);$i++){        
    print '<input type="submit" name='.$i.' id="submit" value="'.$buttonarr[$i].'" />';
}
print '</form>';

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


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Vasay
Дата 15.10.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 1
Всего: 73



А действие надо выполнить на сервере или на странице (через JavaScript) ???

Если на сервере, то заключаешь все эти кнопки в 
Код

<FORM action="some.php" method="POST"> 
Твои кнопки
 <FORM>


А дальше в some.php пишешь обработчик

Только тогда лудше сделать так:
Код

print '<form action="some.php" method="POST">';
for ($i=0;$i<count($buttonarr);$i++){        
    print '<input type="submit" name='KNOPKA' id="submit" value="'.$buttonarr[$i].'" />';
}
print '</form>';


Тода в some.php  $_POST['KNOPKA'] вернет значение value нажатой кнопки.


А если надо написать JavaScript обработчик, тогда, примерно, так:
Код

<script>
function somefunction(i)
{
       alert("нажата кнопка с индексом: "+i);
}
</SCRIPT>

<INPUT type="button" onclick="somefunction(1)">
<INPUT type="button" onclick="somefunction(2)">
<INPUT type="button" onclick="somefunction(3)">


Это сообщение отредактировал(а) Vasay - 15.10.2007, 15:55


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Sniper
Дата 15.10.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



да на сервере.
например сегодня сгенерировалось 9 кнопок. я кликаю по 4 ... выполняется такое-то действие
завтра сгенерировалось 3 кнопки я кликаю по 2 и выполнятеся другое действие


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
sw04
Дата 16.10.2007, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 22.1.2007
Где: Ufa

Репутация: нет
Всего: 18



исхо лучше на checkbox сделать.


--------------------
<удалено администрацией>
PM   Вверх
Папараццы
Дата 16.10.2007, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



Как понять
 
Цитата

но нужно при клике на каждую кнопку выполнять какое-либо действие

 какое действие?  Например ?


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Sniper
Дата 16.10.2007, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



Цитата

какое действие?  Например ? 

хм вообще действие одно по сути это с ftp забирать картинки только по разным кнопкам с разных ftp
p.s это имеет отношение к вопросу?

Это сообщение отредактировал(а) Sniper - 16.10.2007, 09:12


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
mishaSL
Дата 16.10.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(Sniper @  15.10.2007,  14:51 Найти цитируемый пост)
но нужно при клике на каждую кнопку выполнять какое-либо действие. Как реализовать обработчики нажатий кнопок? 

К примеру так:
Код

<?php

$butArr = array();
$butArr[] = array('Name'=>'butt_1', 'Value'=>'Кнопка 1', 'Func'=>'myFunc1');
$butArr[] = array('Name'=>'butt_2', 'Value'=>'Кнопка 2', 'Func'=>'myFunc2');
$butArr[] = array('Name'=>'butt_3', 'Value'=>'Кнопка 3', 'Func'=>'myFunc3');

function myFunc1($post)
{
    print 'Действие 1';
    return true;
}

function myFunc2($post)
{
    print 'Действие 2';
    return true;
}

function myFunc3($post)
{
    print 'Действие 3';
    return true;
}

if (!empty($_POST)) {
    foreach($butArr as $v) {
        if (isset($_POST[$v['Name']])) {
            if (function_exists($v['Func'])) {
                call_user_func_array($v['Func'], $_POST);
                break;
            }
        }
    }
}
print '<form action="" method="post">';
// тут всякие другие поля формы, если надо
foreach($butArr as $v) {
    print '<input type="submit" name="'.$v['Name'].'" value="'.$v['Value'].'">';
}
print '</form>';

?>



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Sniper
Дата 16.10.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



mishaSL, у меня меняется количество кнопок...


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Vasay
Дата 16.10.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 1
Всего: 73



Так чем тебе мой пример не понравился?

[
Код

print '<form action="some.php" method="POST">';
for ($i=0;$i<count($buttonarr);$i++){        
    print '<input type="submit" name='KNOPKA' id="submit" value="'.$buttonarr[$i].'" />';
}
print '</form>';


В массиве $buttonarr[] хранишь адреса фтп (главное чтоб двойных кавычек небыло) ...


В обработчике some.php пишешь:
Код

$FTPAdress = $_POST['KNOPKA'];

Ну и дальше работаешь с $FTPAdress как хочешь.... 



--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
mishaSL
Дата 16.10.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(Sniper @  16.10.2007,  12:33 Найти цитируемый пост)
mishaSL, у меня меняется количество кнопок... 

А в чем проблема собственно.
Я просто предложил концепцию. В массиве $butArr храняться все кнопки, они также могут храниться в БД или еще где-нибудь. В зависимости от нажатой кнопки выполняется определенное действие (если действие в принципе одинаковое, то можно просто параметры в функцию передавать разные).
Объясни подробнее в чем у тебя возникают сложности и я с удовольствием помогу smile 


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.