form.submit()

ayrat9

Новичок
form.submit()

Нужно, чтобы у юзера, набравшего товаров в каталоге, но не нажавшего submit-кнопку, яваскрипт переспрашивал: Не хочет ли он кинуть их в Корзину. Событие должно происходить по его нажатию на ссылках на другие страницы.

Пробовал вот так, но не работает. Помогите найти ошибку.
-------------------------------------------------
<script language='Javascript'>
function check_referer()
{
var ob=event.srcElement;
if(ob.tagName=='A')
{
if(Total>0 && confirm('Put items to basket?'))
{
document.forms['mc'].action=ob.href;
document.forms['mc'].submit();
return false;
}
else return true;
}
}
window.document.body.onclick=check_referer;
</script>



Ошибка: "Object doesnt support this property or method"
 

neko

tеam neko
я как-то с этим намучался
так не будет работать
надо явно прописать в body событие
 

ayrat9

Новичок
вот на сайте http://kokon.ru/shop/ это вроде как работает

а мой заказчик углядел и хочет чтобы прям так и было
 

neko

tеam neko
че там работает я невижу
все что мне этот сайт пишет, так это то что у него 30 секунд вышло

какой-нибудь пример еще можно?
 

ayrat9

Новичок
ты в мозиле смотрел?
Если в ней то не работает, согласен (после этого сайта у мозилы яваскрипт консоль до безобразия загаженной становится).

А в Опере8 и ИЕ6 работает, чесслово!
 

neko

tеam neko
причем тут мозилла если скрипт по таймауту вылетает
ну да ладно
еще раз
ошибка у тебя в том, что ты пытаешся присвоить event'у функцию
это не работает
сломано
не делай так
 

ayrat9

Новичок
других примеров не нашел
и яндекс спрашивал у многих такая прооблема была, но решалась она у них некорректно (на мой взгляд)

<a href="#" onclick="form.submit();">

-~{}~ 23.05.05 21:20:

извини, я тебе кривую ссылку дал (потому и вылетало).
Попробуй эту:
http://kokon.ru/shop/node132358/
 

neko

tеam neko
нет это как раз корректное решение
корректное потому, что все остальное не работает просто
нельзя присвоить аттрибуту функцию
вроде по спецификации JS функции это first class objects
однако не работает...

и ссылка твоя в файрфоксе ничего интересного не кажет
других браузеров у меня нет, сорри
 

ayrat9

Новичок
Ничего страшного, все равно в файрфоксе эта фича у них не пашет..
спасибо за внимание

-~{}~ 23.05.05 21:30:

некорректным я назвал это решение потому, что, скорее всего, поисковики, при индексации сайта, проигнорируют страницы на которые можно попасть с помощью таких ссылок
 

SelenIT

IT-лунатик :)
Лично у меня в таком простейшем виде все работает и в IE, и в FF:
Код:
<html>
<head>
<style>
html, body {height: 100%;}
</style>
</head>
<body><h1>Sample page</h1></body>
<script>
window.document.body.onclick = function() { alert ('Works!'); }
</script>
</html>
Насколько я понимаю, необходимо, чтобы функция назначалась уже созданному объекту, т.е. скрипт должен идти после закрывающего тега </body>. И еще, если убрать стиль, то в FF работает только по клику на область с текстом - по умолчанию там body не растягивается на всю страницу.

Что же касается поисковиков, то очень сильно сомневаюсь, что они вообще ходят на страницы, выдаваемые в ответ на сабмит форм). Другое дело, что ставить возможность сабмита формы в зависимость от поддержки JS (вместо стандартной кнопки) - значит существенно ограничивать возможности пользователя (имхо)...
 
Сверху