PHP: 3 Варианта нажатия кнопок -- не работает javaScript, форма не отправляется
Primary tabs
<html> <head><title>Button1</title></head> <body> <FORM NAME="form1" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="BUTTON"> <INPUT TYPE="BUTTON" VALUE="BUTTON1" ONCLICK="button1 ()"> <INPUT TYPE="BUTTON" VALUE="BUTTON2" ONCLICK="button2 ()"> <INPUT TYPE="BUTTON" VALUE="BUTTON3" ONCLICK="button3 ()"> </FORM> <form> <input type="button" value="щелкни меня" onClick="alert('АЙ ЯЯЯЯЯЯЙЙЙЙ!')"> </form> <SCRIPT LANGUAGE="JavaScript"> <!-- function button1 () { document.form1.Button.value="Button1" form1.submit () } function button2 () { document.form1.Button.value="Button2" form1.submit () } function button3 () { document.form1.Button.value="Button3" form1.submit () } //--> </SCRIPT>
А это код обрабатывает кнопки
<html> <head> <title> DOWNLOAD FILE</title></head> <body> <?php if (isset ($_REQUEST ["BUTTON"])) echo $_REQUEST ["BUTTON"],"<BR>"; ?> </body> </html>
Здесь мы не используем JavaScript всё работает , кнопки расположены вертикально:
<html> <head><title>Button1</title></head> <body> <FORM NAME="form1" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="BUTTON" VALUE="Knopka1"> <INPUT TYPE="SUBMIT" VALUE="Knopka1"> </FORM> <FORM NAME="form2" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="BUTTON" VALUE="Knopka2"> <INPUT TYPE="SUBMIT" VALUE="Knopka2"> </FORM> <FORM NAME="form3" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="BUTTON" VALUE="Knopka3"> <INPUT TYPE="SUBMIT" VALUE="Knopka3"> </FORM> </SCRIPT> </body> </html>
<html> <head> <title> DOWNLOAD FILE</title></head> <body> <?php if (isset ($_REQUEST ["BUTTON"])) echo $_REQUEST ["BUTTON"],"<BR>"; ?> </body> </html>
И третий вариант как получить три кнопки и обработать нажатие :
<html> <head><title>Button1</title></head> <body> <FORM NAME="form1" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="SUBMIT" NAME="BUTTON" VALUE="Knopka1"> </FORM> <FORM NAME="form2" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="SUBMIT" NAME="BUTTON" VALUE="Knopka2"> </FORM> <FORM NAME="form3" ACTION="phpbuttons.php" METHOD="POST"> <INPUT TYPE="SUBMIT" NAME="BUTTON" VALUE="Knopka3"> </FORM> </SCRIPT> </body> </html>
<html> <head> <title> DOWNLOAD FILE</title></head> <body> <?php if (isset ($_REQUEST ["BUTTON"])) echo $_REQUEST ["BUTTON"],"<BR>"; ?> </body> </html>
- Log in to post comments
- 10190 reads
fgh
Wed, 08/12/2015 - 15:46
Permalink
Странно , то что здесь
Странно, то что JavaScript здесь не работает. И почему-то, когда жмёшь на кнопки, они не ссылают на вторую страничку phpbuttons.php. Код переписан с книги, но всё равно не работает.
math2
Sun, 09/06/2015 - 17:55
Permalink
В строке
В строке
указано имя "BUTTON".
В файле phpbuttons.php тоже использовано имя "BUTTON":
Но в JavaScript фунциях использовано другое имя --- Button:
Здесь имеет место чувствительность к регистру символов.
Исправьте "BUTTON" на "Button",
и Ваш код заработает.
melisa
Wed, 05/03/2017 - 11:21
Permalink
Воспользовалась советом
Воспользовалась советом отсюда, но JavaScript всё равно не работает. Переход на страницу phpbutton.php не происходит. В чём ошибка?
Файл PHP-скрипта выглядит так:
vedro-compota
Wed, 05/03/2017 - 13:53
Permalink
что проверить
Для начала измените открывающий тэг джаскрипта (как уже говорили тут) на:
Далее:
-- точно ли этот обработчик существует? попробуйте открыть в браузере страницу: http://вашсайт/8_phpbutton.php
Перед открытием этой страницы код обработчика можно поправить так:
_____________
матфак вгу и остальная классика =)
melisa
Wed, 05/03/2017 - 16:02
Permalink
Открывающий тег и код
Открывающий тег и код обработчика изменила.
обработчик "8_phpbutton.php" существует и корректно исполняется: на нём также работают 2 и 3 вариант кнопок (они были описаны также в этой теме выше).
Результат такой же, при нажатии кнопки ничего не происходит.
vedro-compota
Wed, 05/03/2017 - 16:56
Permalink
Решение проблемы (ответ)
Как выяснили проблема оказалась в том, что на странице было несколько форм с одинаковым значением атрибута name.
_____________
матфак вгу и остальная классика =)