|
|
|
| Можно ли сделать так, чтобы текст на кнопке и значение, передаваемое в скрипт были различные? Например на кнопке надпись " .:: BACK ::. ", а в скрипт передавалось просто "back". Реально ли такого добиться? | |
|
|
|
|
|
|
|
для: tyoma_first
(08.04.2009 в 01:47)
| | 1. Можно
2. Реально | |
|
|
|
|
|
|
|
для: PAT
(08.04.2009 в 01:51)
| | Отлично, а как (и было бы супер если без JS)? :) Или стоит повнимательнее мануал почитать? (а то как то ближе к ночи не особенно читается :) ) | |
|
|
|
|
|
|
|
для: tyoma_first
(08.04.2009 в 02:19)
| |
<?php
print_r($_POST);
?>
<form action="" method="post">
<input type="submit" name="back" value="::BACK::" />
</form>
|
| |
|
|
|
|
|
|
|
для: tyoma_first
(08.04.2009 в 01:47)
| | Лучше добавьте скрытое поле, с нужным вам значением. По нему и определяйте что вам отправлена форма. В таком случае в submit можете писать всё что угодно. Кнопка нужна будет только для отправки формы. | |
|
|
|
|
|
|
|
для: mikha
(08.04.2009 в 04:24)
| | Не совсем то... До это я делал так:
<form action="" method="post">
<input type="submit" name="submit" value="back" />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
if ($_POST["submit"]=='back'){
//back button actions
}else{
//submit button actions
}
?>
|
Но в данном случае я был зажат тем, что надпись на кнопке была "back" и если я захочу написать "Вернуться" то и скрипт придется переделывать...
Так же, как вариант, можно делать вот так:
<form action="" method="post">
<input type="submit" name="back" value="Вернуться" />
<input type="submit" name="submit" value="Отправить" />
</form>
<?php
if (isset["back"]){
//back button actions
}else{
//submit button actions
}
?>
| , но здесь я наталкиваюсь на проблему когда скрипт будет неправильно срабатывать для такой вот формы:
<form action="" method="post">
<input type="text" name="back" />
<input type="submit" name="submit" value="Submit" />
</form>
|
(набор полей мне заранее неизвестен). Как можно определить что значение переменной "back" было передано из кнопки, а не какого нибудь другого контрола? | |
|
|
|
|
|
|
|
для: tyoma_first
(08.04.2009 в 18:30)
| | Ничего не понял, могу только смутно догадываться.
Вот, но это чисто для понимания..
<?php
if(isset($_POST["back"])){
echo $_POST["back"];
}
?>
<table width="100%">
<tr>
<td><form name="form1" method="post" action="">
<input name="back" type="hidden" value="back">
<input type="submit" name="submit" value="Вернуться" />
</form></td>
<td><form name="form2" method="post" action="">
<input name="back" type="hidden" value="Отправить">
<input type="submit" name="submit" value="Отправить" />
</form></td>
</tr>
</table>
|
Старайтесь яснее излагать то что вам необходимо. | |
|
|
|
|
|
|
|
для: mikha
(08.04.2009 в 19:03)
| | Спасибо, я понял что вы имеете в виду. У меня вот такая задача. Есть одна форма, на ней 2 кнопки (back и submit). Значения, пришедшие из вормы в скрипт, необходимо по разному обрабатывать (в зависимости от того, какая кнопка была нажата). Имена полей формы заранее неизвестны. Хотелось бы решить эту задачу оптимальным способом. | |
|
|
|
|
|
|
|
для: tyoma_first
(08.04.2009 в 19:27)
| | попробуйте
<?php
$x = array('back', 'next', 'prev');
if(isset($_POST['names'])) {
foreach($_POST['names'] as $key => $val) {
$msg = 'Вы нажали '. $key;
}
echo '<script type="text/javascript">alert("'. $msg .'")</script>';
}
?>
<form method="post" action="">
<?php
foreach ($x as $values) {
echo '<input type="submit" name="names['. $values .']" value="'. $values .'"><br />';
}
?>
</form>
|
| |
|
|
|