Не сабмитит форму

Kirill_L

Новичок
Не сабмитит форму

Всем, добрый день!
Столкнулся вот с какой вещью.

Суть задачи. Есть выпадающий список. Рядом присутствует список ссылок на конкретные страницы сайта, в зависимости от выбранного пункта выпадающего списка. Выбранный пункт запоминается в отдельном поле type=hidden. Необходимо засабмитить форму с этим полем.

Реализация.
список ссылок
<form name="sel" method="POST" action="">
<?
.....

PHP:
while ($item=mysql_fetch_array($res)) {  		$id=$item['id'];
print "<a href=# onClick=\"setFormAction('sfirms.php?pid=$id');\" Language=\"JavaScript\" class=item>{$item['name']}</a><br>";
}
......
?>
<input type=hidden value="DEFAULT VALUE" name=city></form>
JavaScript, задающий имя страницы, которую необходимо открыть и сабмитит форму, но на самом деле не сабмитит.

<script language="JavaScript">
function setFormAction(url) {
document.sel.action.value=url;
document.sel.submit();
}
</script>

Подскажите пожалуйста в чем проблема. Спасибо заранее.
 

Фанат

oncle terrible
Команда форума
поставь себе брараузер firefox, открой там панель яваскрипт, запусти свою форму и посмотри, какую ошибку напишет

и запомни:
Подсказать, в чём проблема, может только САМ программист.
 

Kirill_L

Новичок
Автор оригинала: Фанат
поставь себе брараузер firefox, открой там панель яваскрипт, запусти свою форму и посмотри, какую ошибку напишет

и запомни:
Подсказать, в чём проблема, может только САМ программист.
ошибок абсолютно никаких не выдает...проверял...САМ - уже насмотрелся, не разобрался, поэтому и пишу...лишняя пара глаз не помешает...особенно если это ПРОФИ
 

maksla

Новичок
Я не очень вижу смысл в данной конструкции.
Может проще прямую ссылку написать?
<a href=sfirms.php?pid=$id class=item>

И еще, где у тебя находится описание функции для отправки?
 

Kirill_L

Новичок
maksla

Если писать прямую ссылку, то отображаться будут все значения независимо от выбранного пункта меню в выпадающем списке...вот нужна такая конструкция и все...я не понимаю почему форма не сабмитится...функция для отправки в скрипте setFormAction
 

maksla

Новичок
>>функция для отправки в скрипте setFormAction
Где физически находится скрипт на странице?

И попробуй заменить
document.sel.action.value=url;
на
document.sel.action=url;
 

Kirill_L

Новичок
maksla
Спасибо, парень! Твой совет помог именно тем, что ты натолкнул меня на мысль по поводу функции отправки...у меня ведь в функции
setFormAction два действия: назначение action и submit. Но так не работает. Я взял и повесил назначение action на OnMouseOver, а OnClick повесил submit. Теперь усе в поряде...директор доволен. Спасибо всем за уделенное внимание.
Фанат
я же говорил что лишняя пара глаз хоть как-то всегда поможет и подскажет и не важно профи это или нет.
 

Kirill_L

Новичок
dnes
Работает в IE, Opera, Mozilla Firefox...я думаю этого предостаточно.

-~{}~ 10.08.05 14:44:

Фанат
Не груби, дураком все равно помрешь
 

Фанат

oncle terrible
Команда форума
тебе никто не грубит. пока.
это информация к размышлению.
о том, что только идиоты ищут "глазами", а проограммисты имеют более продвинутые средства найти ошибку.
 

Kirill_L

Новичок
dnes
<script language="JavaScript">
function setFormAction(url) {
document.sel.action=url;
}

<a href=# onMouseOver=\"setFormAction('firms.php?pid=$id');\" OnClick=\"sel.submit();\" Language=\"JavaScript\" class=item>{$item['name']}</a>
 

Фанат

oncle terrible
Команда форума
не понял.
а нафига такие извращения?
почему нельзя в форме экшен прописать?
 

Kirill_L

Новичок
Фанат

список с выбираемыми пунктами находится в другой форме...просто на одну страницу надо выводы разные сделать и в одну форму это не объеденяется...вот и пришлось поизвращаться
 

Profic

just Profic (PHP5 BetaTeam)
Что будет, если пользователь "кликнет" ссылку не мышкой, а клавиатурой?
Оставив в стороне непоколебимое "нужен такой изврат с формой вместо обычной прямой ссылки", я все равно не могу понять зачем делать такое хм, странное дело, когда можно просто в тот самый hidden, который походу не используется поставлять значения id-ов. Все равно кривизна, но все же меньшая чем в оригинале.
 

Фанат

oncle terrible
Команда форума
какая разница, сколько форм?
Я не спрашивал, сколько у тебя форм.
я, кажется, спросил, почему нельзя у форму экшен сразу прописать?
 

dnes

Новичок
Kirill_L

Вообще-то, если уж так, то вот этого вполне достаточно:

<a href=# OnClick="setFormAction('sfirms.php?pid=$id');" class=item>

И action и submit замечательно вызывается по клику.


Language=\"JavaScript\ - зачем? В данной строке нет JavaScript'а, он отсюда только вызывается.
 

Kirill_L

Новичок
Profic

тот самый hidden используется и как раз таки в него и подставляются значения выбранного пункта списка. Пользователь щелкая по ссылке, которая сабмитит форму попадает на страницу, соответствующую именно выбранному пункту и выбранной ссылке.
Что касается, того если пользователь щелкнет клавиатурой...да аблом...но в тогда можно onMouseOver заменить OnFocus

Фанат
а откуда я знаю тогда что пользователь выбрал, какой пункт...ссылки - категории, а к какому пункту списка принадлежит эта категория....? как я могу прописать в екшене параметр, который я не знаю...
 

Фанат

oncle terrible
Команда форума
как это не знаешь?
а $id - это что? выбор пользователя?
ты вообще пхп от яваскрипта отличаешь?
 
Сверху