Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

неправильный переход в компаненте с использованием AJAX

00 голосов
2
мож кто сталкивался сделал компанент с ипользованием AJAX как в инструкции http://www.1c-bitrix.ru/sitemanager/doc.php#ajax.

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

Все работет ok, пока отправка данных по кнопке, если добавить к событие отправки формы по изменению первого селекта

Код
<select name='Marka' onchange="this.parentNode.submit()">


то браузер переходит на страницу только с данными моего компанента, уже без AJAX
спросил 27 Сен, 13 от MAZDA (120 баллов)

2 Ответы

00 голосов
Если коротко:

Основная логика компонентного Аякс для форм заложена в функциях для события onSubmit()
Если программно вызывать submit(), то onSubmit() не вызывает, и поэтому форма отправляется обычным образом.
http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml
Цитата
The browser does not trigger the onsubmit event if you call the submit method programmatically. Therefore, if the form is using the form validator script, call the onsubmit method also to trigger the validation.

В данном случаи можно попробовать вот так:
Цитата
<select name='Marka' onchange="if(this.parentNode.onsubmit()){this.parentNode.submit();}">

Однако, стоит просто несколько пересмотреть логику работы Вашего компонента.
ответил 07 Окт, 13 от druid (580 баллов)
00 голосов
Цитата
<select name='Marka' onchange="if(this.parentNode.onsubmit()){this.parentNode.submit();}">

Такой способ не работает в IE7 (другие не проверял)
А вот такой работает:
Цитата

<script language="JavaScript">
function submitform()
{
if(document.formname.onsubmit())
{
document.formname.submit();
}
}
</script>
<a onClick="submitform(); return false;" href="javascript:;">

js код вынесен в отдельную функцию не случайно
ответил 07 Янв, 14 от BigSur (100 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
3 ответов
спросил 03 Авг, 13 от Emir (420 баллов)
0 голосов
2 ответов
0 голосов
5 ответов