Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не происходит действие после нажатия


Автор: Rocknrolla 6.11.2012, 21:35
Код

<?php
if($_POST['close']){

echo "Привет, морячки)";
}
else 
{
?>


Код

<form action="" method="post">
<a href="" name="close" type="submit">here</a>
<input name="close" type="submit" value="here">
</form>


Суть в том, что есть картинка, при нажатии на которую выводится сообщение. Но работает только, если установлена кнопка
Код

<input name="close" type="submit" value="here">


А если ссылка - то страница просто перезагружается
Код


<input name="close" type="submit" value="here">

Как при нажатии на картинку (или на <div class=""></div>) сделать я пока ума не приложу.
Подскажите пожалуйста.


Автор: bars80080 6.11.2012, 22:01
ну давайте посмотрим, что же означает атрибут type в ссылке: http://htmlbook.ru/html/a/type

как видно, никакого отношения к фантазиям с сабмит не имеет.

почему ссылка не отправляет формы? а кто сказал что должна? что написано в документации?

ссылкой отправить форму можно только задействовав javascript. но как вы уже догадались, эта тема ни разу никакого отношения к php не имеет

Автор: Rocknrolla 6.11.2012, 22:33
Хорошо, Вы правы, но подскажите, как решить проблему?
Надо при нажатии на картинку чтобы включался обработчик.

Автор: skyboy 7.11.2012, 00:06
https://www.google.com/search?q=javascript+form+submit

M
skyboy
перенесено из PHP

Автор: Rocknrolla 7.11.2012, 08:39
Спасибо, вот в этой статье есть указание
http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml

Код

<form name="myform" action="">
Search: <input type='text' name='query' />
<input type="image" src="go.gif" />
</form>


Сделал так - не работает все равно =(

Автор: Aliance 7.11.2012, 10:18
Потому что по умолчанию запрос идет методом get.

Автор: Rocknrolla 7.11.2012, 10:56
Нет, это из примера, у меня вот так

Код

<form action="" method="post" name="ban">
<a href="javascript: submitform()" name="close"><img src="../img/ban-x.png" border="0"></a>

</form>


Если кнопку submit поставить - то все работает, а если ссылку или картинку - то нет(((

Обработчик такой 
Код

<?
if (isset($_COOKIE['banner'])){ }

  else

  {            
if($_POST['close']){
setcookie("banner","1",time()+3600);
   }

else {
$in1=1; 
   }
}

?>    


Т.е. если <input name="close" type="submit"> - то все норм, а если <a href="javascript: submitform()" name="close"> - то не пашет


Код

<script type="text/javascript">
function submitform()
{
    document.forms["ban"].submit();
}
</script>


Автор: Aliance 7.11.2012, 17:27
Потому что $_POST['close'] будет создано только из элемента input, из элемента a массив не создать.

Автор: skyboy 8.11.2012, 08:41
добавь <input type="hidden" name="close" /> в форму.
или у тебя не одна картинка-сабмиттер? тогда перед отправкой формы джаваскриптом же создавать input[type=hidden]

Автор: Rocknrolla 8.11.2012, 09:03
skyboy, спасибо, имеено так вчера и решил проблему. На серче подсказали)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)