За последние 24 часа нас посетили 17489 программистов и 1623 робота. Сейчас ищут 1755 программистов ...

Как обрабатывать кнопку?

Тема в разделе "Вопросы от блондинок", создана пользователем mvictorl, 17 окт 2007.

Статус темы:
Закрыта.
  1. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    У меня простая форма с кнопкой Submit.

    Мне нужно добавить еще одну кнопку, при нажатии на которую выполялася бы PHP-функция или PHP-файл.

    Помогите, пожалуйста!
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    в форме может быть несколько сабмитов
     
  3. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    Ok -- а как мне их тогда в коде различать?
     
  4. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    HTML:
    1. <input type='submit' name='sbm' value='Кнопка 1'>
    2. <input type='submit' name='sbm' value='Кнопка 2'>
    В скрипте - из $_REQUEST['sbm']
     
  5. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    Немного не допонял:
    1. Почему name у кнопок одинаковый?
    2. КАК мне определить, какая из кнопок нажата (по какому условию выполнять тот или иной кусок кода)?
     
  6. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    В зависимости от нажатой кнопки у $_REQUEST['sbm'] будет значение «Кнопка 1» или «Кнопка 2»
     
  7. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    Спасибо -- что-то проклюнолось!

    Чисто в позновательных целях: а если тип кнопки type='button', поле onClick может содержать только явовские скрипты? Никак нельзя "прицепить" на это событие PHP?
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    явовских onClick вообще содержать не может
    HTML:
    1. <form name="myform">
    2. <input type="button" value="Кнопка" name="sbm"
    3. onClick="if(confirm('Вы уверены?')){myform.submit();}">
    4. </form>
     
  9. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    А это "if(confirm('Вы уверены?')){myform.submit();}" что за конструкция такая???
    Я имею ввиду, это ж не PHP (ну или НЕ ТОЛЬКО)...
     
  10. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  11. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    :)
    Ну, я это и имел ввиду -- это же JavaScript, так?
    Т.е. поле onClick (и иже с ним) работет только так, про PHP ничего "не знает"?
     
  12. Mavir

    Mavir Guest

    Теоретически верно, но на практике применять гемморно. А если понадобится поменять название кнопки или сайт многоязычный?
    Практичнее будет использовать такой вариант
    HTML:
    1. <form name="myform" id="myform">
    2. <input type="hidden" name="action" id="action" value="">
    3. <input type="button" value="Кнопка 1" onClick="document.getElementById('action').value='action1'; document.getElementById('myform').submit();">
    4. <input type="button" value="Кнопка 2" onClick="document.getElementById('action').value='action2'; document.getElementById('myform').submit();">
    5. </form>
     
  13. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  14. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    Если не затруднит -- чуть-чуть хотя бы растолкуйте, пожалуйста!
    (Я понятливый, только тема для меня не родная! :) )

    P.S. Чтобы было понятно, я не программер, а системный администратор. Захотелось сделать веб-интерфесик для часто используемых повседневных функций... Т.е. я общие понятия имею, но опыта маловато. :)
     
  15. Mavir

    Mavir Guest

    По onClick в скрытое поле "action" записывается действие (в данном случае action1 или action2)

    В PHP скрипте проверяем
    PHP:
    1. <?
    2. if ($_REQUEST['action'] == 'action1'){
    3. // Нажали Кнопку 1
    4. }
    5. if ($_REQUEST['action'] == 'action2'){
    6. // Нажали Кнопку 2
    7. }
    8. ?>
     
  16. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    А чтобы понять все эти конструкции (типа, document.getElementById('action').value='action2' и document.getElementById('myform').submit(); ) нужно читать мануалы по JavaScript, я правильно понял?
     
  17. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    Будьте так добры, обьясните для чего необходимо скрытое поле (строка 2)?
    Без него даннай код не работает, а кроме того, что это скрытое поле я не нашёл других пояснений в и-нете...
     
  18. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Для того чтобы передавать свои данные вместе с данными, которые ввёл пользователь.
     
  19. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    ... исчерпывающий ответ...
     
  20. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Чем ждать ответ на форуме не поленитесь а поищите в гугле. Это будет намного быстрее.
     
  21. mvictorl

    mvictorl Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    17
    Симпатии:
    0
    Во-первых, обычно я так и делаю.
    Во-вторых, с таким подходом, как у Вас, не стоит отвечать ни в какой пост.

    Если Вам лень ответить вразумительно, то и не стоит утруждаться: пользы может не больше, но уж вреда точно меньше!
    Превращаете тему в оффтоп. А форум -- это не только средство общения, а еще и поиска уже готового решения. А вот из-за таких "содержательных" ответов и гугл помогает не сильно...
     
  22. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Значит плохо делаете. По первой же ссылке:
    Код (Text):
    1. HIDDEN is a TYPE attribute value to the INPUT element for FORMs. It indicates a form field that does not appear visibly in the document and that the user does not interact with. It can be used to transmit state information about the client or server.
    Ок. Приму во внимание.
    Угу. Пошёл диссертацию писать.
    За поиском готовых решений в гугль. Не нашли? Велкам ту форум!

    PS к закрытию темы не имею никакого отношения.
     
Статус темы:
Закрыта.