Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 17:52   #1
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию Submit на javascript (не хочет работать)

Двиг реализован на Smarty. Есть форма. При нажатии на элемент submit (обычную кнопку), данные передаются в php и удаляются кодом типа "удалить строку, где некоторое слово= ''". Все, вроде, отточено в таком случае.
Теперь мне не нужна кнопка, я хочу поставить javascript для передачи формы в php-файл. Причем лучше только отправить форму, а не переходить поссылкам и тп. Без учета последнего пункта, я пытался сделать так:
PHP код:
<form action="" method="post" name="myform">
<
input type="hidden" name="cbody" value='{$comments[comment_loop].comment_date}'>
<
a href="" onclick="document.myform.submit(); return false;">submit</a>
</
form
Но на этой странице, где идет удаление, обязательно должны вводиться данные профайла (страница - это профайл пользователя). Таким образом теряются данные, и при попытке отправки формы с чужой страницы кидает на свою, задача не выполняется.
PHP код:
<form action="" method="post" name="myform">
<
input type="hidden" name="cbody" value='{$comments[comment_loop].comment_date}'>
<
a href='profile.php?user={$owner->user_info.user_username}' onclick="document.myform.submit(); 
return false;"
>submit1</a>
</
form
Так удаления не происходит вообще ниоткуда
И как еще защититься от подмены данных (cbody)?

Последний раз редактировалось Krasi; 03.06.2010 в 18:11.
Krasi вне форума Ответить с цитированием
Старый 03.06.2010, 20:26   #2
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от Krasi Посмотреть сообщение
PHP код:
<form action="" method="post" name="myform">
<
input type="hidden" name="cbody" value='{$comments[comment_loop].comment_date}'>
<
a href="" onclick="document.myform.submit(); return false;">submit</a>
</
form
PHP код:
<form action="" method="post" name="myform">
<
input type="hidden" name="cbody" value='{$comments[comment_loop].comment_date}'>
<
a href='profile.php?user={$owner->user_info.user_username}' onclick="document.myform.submit(); 
return false;"
>submit1</a>
</
form
Как то странно у вас получается а <?php и ?> кто будет ставить, потом, у вас указанно следующее:

PHP код:
onClick="document.myform.submit(); 
Ну и где эта функция объявлена(браузер ее видит как функцию на JavaScript, как в принципе и весь код.)?

p.s. Используй в JavaScript обработчик OnSubmit, например:

Код HTML:
<form action="" method="post" name="myform" OnSubmit="ClickForm();">
<input type="hidden" name="cbody" value='<?php $comments[comment_loop].comment_date ?>'>
<input type="submit" name="submit" value="Отправить">
</form>

Последний раз редактировалось vasek123; 03.06.2010 в 22:52.
vasek123 вне форума Ответить с цитированием
Старый 03.06.2010, 22:04   #3
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Цитата:
Как то странно у вас получается а <?php и ?> кто будет ставить
Ну это же смарти=) Само собой, что я пользуюсь темплатой. Просто не знал, как лучше подсветить

Цитата:
onClick="document.myform.submit();
Ну и где эта функция объявлена(браузер ее видит как функцию на JavaScript, как в принципе и весь код.)?
Не понял

Цитата:
p.s. Используй в JavaScript обработчик OnSubmit
Тоже не понял=(
Krasi вне форума Ответить с цитированием
Старый 03.06.2010, 22:30   #4
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от Krasi Посмотреть сообщение
Не понял
На заметку:

Цитата:
Обработчик событий onSubmit
Изменен в Navigator 3.0.
Событие submit происходит, когда пользователь отправляет форму на Web-сервер. Обработчик событий onSubmit выполняет программу JavaScript, когда происходит событие submit.
Вы можете использовать обработчик событий onSubmit для остановки передачи данных формы; для этого используется выражение return, которое возвращает false в обработчик событий. Любое другое возвращенное значение отправляет форму.
Синтаксис onSubmit смотрите в описании соответствующих объектов.
p.s. Учите JavaScript...
vasek123 вне форума Ответить с цитированием
Старый 04.06.2010, 06:23   #5
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А, ну мне то наоборот надо как-то отправить форму, а не выполнять что-то совместно с ее передачей.
Krasi вне форума Ответить с цитированием
Старый 04.06.2010, 07:04   #6
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от Krasi Посмотреть сообщение
А, ну мне то наоборот надо как-то отправить форму, а не выполнять что-то совместно с ее передачей.
Ну, тогда тут идет чистый php. Вот пример:

PHP код:
<?php
   
if($_POST['submit']== "submit")
   {
      echo 
"$comments[comment_loop].comment_date";
   }
?>
vasek123 вне форума Ответить с цитированием
Старый 04.06.2010, 18:35   #7
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Ну блин, а как оформить на html этот субмит-то, чтобы он был ссылкой или текстом?
Krasi вне форума Ответить с цитированием
Старый 17.06.2010, 14:02   #8
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Ахахахаха.. Васёк посмешил )) Знаток блин...

Krasi
document.myform.submit();
Так ещё моя бабушка писала обращение в javascript.
Правильно будет:

<form action="" method="post" name="myform" id="myformid">
а потом
<a href="" onclick="document.getElementById('m yformid').submit();">submit</a>
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не хочет работать iif alco84 Microsoft Office Access 6 18.03.2010 09:48
Не хочет работать _alpha во Flash 666ALUKARD666 Помощь студентам 0 24.02.2010 12:02
ну не хочет работать!!! MySQL artush1984 Общие вопросы C/C++ 1 06.09.2009 13:41
Не хочет работать образ диска Манжосов Денис :) Операционные системы общие вопросы 8 12.08.2009 03:45
Не хочет работать OpenPictureDialog guffer Общие вопросы Delphi 4 08.07.2009 20:14