Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подменять action у формы перед отсылкой, при различных условиях 
:(
    Опции темы
kito
Дата 22.10.2004, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.10.2004

Репутация: нет
Всего: нет



Привет всем!
Уже который раз возникает проблема, которую постоянно пытался обойти окольными путями, но в конце-концов решил сделать всё же так как задумывал. Проблема в следующем.
Есть форма в которой существуют определённые поля, обрабатывать которые должны разные файлы и несколько кнопок сабмит. Т.е. мне необходимо каким-то образом подменять экшин у формы перед отсылкой данных. Я сделал предположение что эту проблему можно решить следующим образом (правда так и не смог это реализовать в виде кода) На onSubmit у формы повесить функцию, которая подменяет URL у action формы. Каждая кнопка имеет разные имена. По названию кнопки я в самой функции меняю action формы. Вроде бы всё просто :) но как это реализовать пока не знаю. Может кто-то уже сталкивался с подобной проблемой? Подскажите или напишите примерный код.
Заранее спасибо :)


Это сообщение отредактировал(а) kito - 22.10.2004, 13:39
PM MAIL   Вверх
Irokez
Дата 22.10.2004, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Это не так делается, экшн подменять не надо
просто называешь свои кнопки Субмита по разному, а в коде которым принимаешь данные проверяешь на наличие кнопок, те к примеру если две кнопки: send и cancel, то в пхп коде (или любом другом), проверяешь:
Код

if(isset($_POST['send']))
{
...
}
elseif(isset($_POST['cancel']))
{
...
}

PM   Вверх
GoodBoy
Дата 22.10.2004, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



вообще кажется можно подменить вот так:
Код
<form name=forma action="/cgi-bin/script.cgi" method=post>
...
</form>

<script>
document.getElementById("forma").action = "/doc/do_it.php";
</script>



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Aliance
Дата 22.10.2004, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Есть более мудрое решение: использовать чекбокс, чтобы определить, что нужно пользователю, из этого выводим action:

Код

...
form.action = (form.myCheckBox.checked) ? "special.php" : "normal.php";
...

PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 22.10.2004, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Из всего сказанного выделим смысл: у обьекта формы есть свойство action, которое мы можем изменять.
Достаем форму по имени через document.forms.formname или по id: document.getElementById("formid"), а затем меняем свойство: form.action=".." или form.setAttribute("..") - что лучше.

Поищи здесь примеры работы с формой, их тут не мерянно :)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.