|
Поясните суть функции HTML | ☑ | ||
---|---|---|---|---|
0
DES
06.10.14
✎
13:44
|
//<![CDATA[
function WebForm_OnSubmit() { null;if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false; return true; } //]]> Когда труе, когда фальше ? |
|||
1
Serginio1
06.10.14
✎
14:33
|
Когда тип переменной ValidatorOnSubmit функция
и функция возвращает false тогда возвращается ложь во всех других случаях истина |
|||
2
Necessitudo
06.10.14
✎
14:34
|
В HTML есть функции? Я думал это просто язык разметок.
|
|||
3
DES
06.10.14
✎
15:05
|
(1) не издевайся. читать код я умею.
(2) как по твоему можно перевести слово function ? |
|||
4
DES
06.10.14
✎
15:06
|
(1) что проверяет функция, а не какую переменную
|
|||
5
Serginio1
06.10.14
✎
15:25
|
(4) А это смотри где эта переменная определена и где есть ей присвоение.
|
|||
6
DES
06.10.14
✎
15:30
|
Это стандартная функция .NET - присутствует во многих страницах
|
|||
7
Serginio1
06.10.14
✎
15:43
|
Ну вопервых она точно не стандартная для .Net так как на страницах только JavaSgript или VBScpipt
Нужно смотреть подгружаемые скрипты |
|||
8
Serginio1
06.10.14
✎
15:46
|
||||
9
trdm
06.10.14
✎
16:51
|
(3) >> как по твоему можно перевести слово function ?
это js, а не ХТМЛ. Но видно рация на бронетранспортере все таки. |
|||
10
DES
06.10.14
✎
17:59
|
(9) ой да ладно умняк лепить...
|
|||
11
Torquader
06.10.14
✎
18:20
|
В данном случае, сначала проверяется, что в коде есть определённая функция для обработки события, а потом она уже вызывается. И, предположительно, функция возвращает true или false в зависимости от того, нужно ли передавать форму на сервер или нет.
Другими словами, код написан в обобщённом виде для того, чтобы его можно было использовать в любой форме, а задаст ли программист функцию или нет - это его (программиста) дело. P.S. если в коде не указан язык, то, по умолчанию, предполагается javascript, так как транслировать VbScript умеет только "осёл" (и непонятно зачем его этому научили). |
|||
12
DES
07.10.14
✎
09:28
|
Что за осел? Это преопределенная функция? Срабатывает когда? Похоже что на событии submit формы. Дело в том что у меня не нажимается кнопка через IE API. Хотя в отладчике Кнопка.type=submit. А Кнопка.submit() дает ошибку что нет такого свойства. Вот я и думаю, что все дело в этой функции, она не труе возращает. И иначе как понимать отсутствие свойства при его наличии?
|
|||
13
Asmody
07.10.14
✎
09:34
|
(12) не Кнопка.submit(), а Форма.submit(). Кнопка может только Click()
|
|||
14
Asmody
07.10.14
✎
09:38
|
а смысл кода в (0) очень прост: судя по названию, это валидатор формы. Конечно он не предопределен, что и проверяется в коде: если определен валидатор и проверка формы не прошла, то сабмитить форму не надо.
|
|||
15
DES
07.10.14
✎
09:45
|
А как же возращаемое свойство type в отладчике на Кнапке? Дело в том что этот же код в 1с работал на других формах на аджаксе и именно кнопка.submit() и срабатывала.
|
|||
16
DES
07.10.14
✎
09:48
|
Т.е. мне рыть в сторону функции validatorOnSubmit() ?
|
|||
17
Asmody
07.10.14
✎
09:51
|
(15) type="submit" показывает, что кнопка отправляет событие submit форме, на что форма должна выполнить проверку в обработчике onSubmit.
В свою очередь, form.submit() никаких событий не отправляет и, следовательно, проверок не вызывает. |
|||
18
kokamoonga
07.10.14
✎
09:52
|
(15) >>> А как же возращаемое свойство type в отладчике на Кнапке?
Ты не чувствуешь разницы между Кнопка.type и Кнопка.submit() ? Ясен пень нет такого свойства. Кнопка это html-элемент input с аттрибутом type="submit" А метод .submit() это метод формы, который отправляет данные на сервер. |
|||
19
wormselfish
07.10.14
✎
09:53
|
(11) Осел не умеет транслировать VbScript. Разве что устаревший.
|
|||
20
DES
07.10.14
✎
09:56
|
(18) ЕЩЕ раз - ранее код кнопка.submit() срабатывал нормально. На этой странице не хочет. Что я не понимаю или путаю?
|
|||
21
kokamoonga
07.10.14
✎
10:04
|
(20) >>> ЕЩЕ раз - ранее код кнопка.submit() срабатывал нормально.
Либо где-то в коде для кнопки был явно определен метод .submit(), что крайне сомнительно. Либо ты что-то путаешь, что куда более вероятно. |
|||
22
DES
07.10.14
✎
10:16
|
(21) на форме есть ДВЕ кнопки. Я програмно по id нахожу нужную кноку. Делаю ей submit() или click(). Оба метода дают ошибку. Я не могу делать форма.submit() ибо на какую кнопку я это буду делать?
|
|||
23
kokamoonga
07.10.14
✎
10:20
|
(22) >>> Я не могу делать форма.submit() ибо на какую кнопку я это буду делать?
Причем здесь кнопка? Форма содержит данные. При вызове form.submit() данные отправляются на сервер. |
|||
24
Asmody
07.10.14
✎
10:22
|
(22) Тогда, скорее всего, у кнопок есть обработчики onClick. Посмотри что там находится и вызывай напрямую
|
|||
25
DES
07.10.14
✎
10:35
|
<DIV id=ctl00_body_UpdatePanel1>
<INPUT id=ctl00_body_AccesServiceBtn type=submit value="Доступ" name=ctl00$body$AccesServiceBtn> <INPUT id=ctl00_body_CancelServiceBtn type=submit value="Cancel" name=ctl00$body$CancelServiceBtn> </DIV> |
|||
26
DES
07.10.14
✎
10:40
|
еще такое нашел
<FORM id=aspnetForm method=post name=aspnetForm action=efac.aspx sizcache05779220739970005="10 29 0" sizset="false"> |
|||
27
DES
07.10.14
✎
10:41
|
тут вызывается та форма что нужна, по кнопке.
а вот почему кнопка не пашет не пойму |
|||
28
DES
07.10.14
✎
10:43
|
а на каком этапе вот такое расшифруется ?
</SCRIPT> <SCRIPT type=text/javascript src="/WebResource.axd?d=mI1rgWEHZ5bEvZdTe5HccKr3Hkd68EK0c4IsRvnrIDtef5mPI1PGEYG81&t=63519987188881"></SCRIPT> |
|||
29
Asmody
07.10.14
✎
10:44
|
ты можешь, конечно, полазить по js-коду и поискать биндинги обработчиков событий, но я бы сначала проверил document.forms['aspnetForm'].submit()
|
|||
30
Serginio1
07.10.14
✎
10:44
|
(27) Ты бы лучше Asmody
показал страницу, он бы тебе быстрее помог |
|||
31
Asmody
07.10.14
✎
10:45
|
(28) Это не расшифруется, это ссылка, по ней файл с js подгрузится.
|
|||
32
Serginio1
07.10.14
✎
10:59
|
(28) У тебя не совсем верный подход к изучению. Берешь учебник по Html, css, JavaScript и многое сразу становиться понятным
|
|||
33
DES
07.10.14
✎
11:00
|
(29) нет такого на странице
есть только //<![CDATA[ var theForm = document.forms['aspnetForm']; if (!theForm) { theForm = document.aspnetForm; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> |
|||
34
Asmody
07.10.14
✎
11:00
|
(32) Какой учебник, что ты? Ему же всего-то "кнопочку нажать".
|
|||
35
DES
07.10.14
✎
11:04
|
еще есть такое
function EndHandler() { $("tr.pager td table tr td").each(function (k) { $("input", this).addClass("b" + k).attr("id", "pagination"); }); это что, переопределяет input-ы ? |
|||
36
DES
07.10.14
✎
11:07
|
(34) да я понимаю ваши насмешки, но и вы поймите, мне скоро умирать, а еще не прочитал все книжки по всем языкам, всем системам и всем архитектурам.
|
|||
37
Serginio1
07.10.14
✎
13:13
|
(36) Мне 50 и умирать не собираюсь и все "учусь, учусь и учусь" как завешал Великий Ленин.
Ты больше времени сэкономишь поняв основы и понимая то, что написано |
|||
38
DES
07.10.14
✎
13:20
|
Ну я же говорил тебе, мне больше чем тебе, но мне действительно кнопочку нажать и забыть, как я забыл PL/1, Фортран-77 и Бейсик. А до этого забыл коммутацию на программной доске Табулятора Т5-МВ.
|
|||
39
DES
07.10.14
✎
13:24
|
да, и до сих пор кнопки нажимались беспроблемно.
|
|||
40
Serginio1
07.10.14
✎
13:40
|
Ну прочитать про основы то много не займет. На PL не программировал, но это не значит что все что ты изучал не повлияло на твое развитие.
Посмотри http://msdn.microsoft.com/ru-ru/library/bg182326(v=vs.85).aspx |
|||
41
DES
07.10.14
✎
13:42
|
(40) да, я это юзаю давно
|
|||
42
Serginio1
07.10.14
✎
13:54
|
(41) Ты бы ссылку на страницу дал. А так тебе сложно помочь.
Смотри что у тебя делает onsubmit если она определена |
|||
43
DES
07.10.14
✎
13:57
|
не могу дать страницу, она только залогиненным доступна.
|
|||
44
DES
07.10.14
✎
14:13
|
подозреваю что
<FORM id=aspnetForm method=post name=aspnetForm action=efactura.aspx sizset="false" sizcache02439316468639956="10 29 0" metrikaId_0.926859701486235="3"> где action=efactura.aspx это ссылка на саму себя. но в какой то момент action заменяется на другую ссылку. но вот не понятно как они отключили метод submit() у кнопки ? |
|||
45
Serginio1
07.10.14
✎
14:15
|
Так покажи описание этой кнопки из под отладчика
|
|||
46
Serginio1
07.10.14
✎
14:17
|
(44) На скриптах можно сделать все что угодно
http://www.sql.ru/forum/1014475/submit-i-onclick |
|||
47
DES
07.10.14
✎
14:44
|
(45) в (25)
|
|||
48
DES
07.10.14
✎
14:57
|
чем отличается для IE нажатие кнопки мышкой и через API ?
|
|||
49
Serginio1
07.10.14
✎
15:51
|
(47) Ну и чем
<INPUT id=ctl00_body_AccesServiceBtn type=submit value="Доступ" name=ctl00$body$AccesServiceBtn> отличается от? <INPUT id=ctl00_body_CancelServiceBtn type=submit value="Cancel" name=ctl00$body$CancelServiceBtn> Наверняка для ctl00_body_AccesServiceBtn должен быть какойнибудь onclick устанавливаемый из JavaScript (48) Посмотри на ограничение загрузки скриптов Кстати а из под IE какое описание? |
|||
50
Torquader
07.10.14
✎
16:25
|
(48) Хотя бы тем, что начала приходят события мыши, а только потом событие "click".
|
|||
51
DES
07.10.14
✎
23:48
|
(49) в смысле "Кстати а из под IE какое описание?"
|
|||
52
Serginio1
07.10.14
✎
23:59
|
ctl00_body_AccesServiceBtn
Не могут 2 кнопки иметь одно и тоже действие |
|||
53
DES
08.10.14
✎
00:05
|
а где тут одно действие?
|
|||
54
Serginio1
08.10.14
✎
00:08
|
||||
55
Sasha_Rapira
08.10.14
✎
00:54
|
Причем тут JS, если это ASPNet ?
|
|||
56
Asmody
08.10.14
✎
00:55
|
(52) легко! если onclick перехватывается.
|
|||
57
Asmody
08.10.14
✎
00:55
|
(55) При чем тут ASP.Net, если мы на стороне клиента?
|
|||
58
Asmody
08.10.14
✎
00:58
|
(38) Не надо меня лечить про Фортран, я тоже могу FoxPro и Turbo Prolog вспомнить. Я ещё в (29) написал, что нужно проверить и посмотреть на результат.
|
|||
59
Serginio1
08.10.14
✎
10:31
|
(56) Согласен, не часто работаю со страницами, часто в DOM просто прописывают OnClick и это значение можно посмотреть в отладчике либо сделать поиск п ID Input а.
(58) Это он мне по поводу "Учиться, учиться и учиться" |
|||
60
DES
08.10.14
✎
11:45
|
(58)
a = objDoc.forms("aspnetForm").submit(); a = OLE.JScriptTypeInfo кнопка = objDoc.getElementById("ctl00_body_EFactura_Agreement1_AccesServiceBtn"); Попытка кнопка.Submit(); Исключение Сообщить("Исключение. тип Кнопка " + кнопка.type); КонецПопытки; a = objDoc.forms("aspnetForm").submit(); (в отладчике a = OLE.JScriptTypeInfo) objDoc.forms("aspnetForm").submit(); действий не возымело, |
|||
61
DES
08.10.14
✎
12:02
|
<FORM id=aspnetForm method=post name=aspnetForm action=efactura.aspx sizcache09857233354015636="10 29 0" _events="[object Object]" :submit0.7416735229368033=" function submit() { [native code] } " submit="function(){ea({target:this});return this[Xa]()}" sizset="false" metrikaId_0.9152425741947581="3">
<DIV id=ctl00_body_EFactura_Agreement1_UpdatePanel1 metrikaId_0.9152425741947581="69"> <INPUT id=ctl00_body_EFactura_Agreement1_AccesServiceBtn type=submit value="Accesare serviciu" name=ctl00$body$EFactura_Agreement1$AccesServiceBtn metrikaId_0.9152425741947581="70"> <INPUT id=ctl00_body_EFactura_Agreement1_DezabonareServiceBtn type=submit value=Dezabonare name=ctl00$body$EFactura_Agreement1$DezabonareServiceBtn metrikaId_0.9152425741947581="71"> </DIV> </FORM> |
|||
62
DES
08.10.14
✎
12:05
|
function ea(a)
{ a=N.getTarget(a); if(!l.classNameExists(a,"-metrika-noform")&&"FORM"==a.nodeName) { for(var e=a.elements,b=0;b<e.length;b++) l.isEmptyField(e[b])|| I(e[b]);y(Ca,[u(),a],!0) } } |
|||
63
Serginio1
08.10.14
✎
12:15
|
Посмотри еще где упоминается ctl00_body_EFactura_Agreement1_AccesServiceBtn
Accesare serviciu ctl00$body$EFactura_Agreement1$AccesServiceBtn в поиске в отладчике |
|||
64
Serginio1
08.10.14
✎
12:30
|
Ну и соответственно Xa
|
|||
65
DES
08.10.14
✎
13:36
|
(63) больше нигде
|
|||
66
DES
08.10.14
✎
13:37
|
я так понимаю что это делается специально для защиты от API ?
|
|||
67
Serginio1
08.10.14
✎
13:43
|
(66) Так чему Xa то равно?
А ты в отладчике ищешь, по созданному DOM? |
|||
68
DES
08.10.14
✎
14:02
|
щас разберусь с Xa
а как можно получить AAA и 123000044185 со страницы ? <div class="serianumber" data-bind="visible: seriaIsAssigned"> <label>Серия,</label> <label>№</label> <span data-bind="text: seria">AAA</span> <span data-bind="text: number">123000044185</span> </div> |
|||
69
Адинэснег
08.10.14
✎
14:08
|
как хтмл похож на js то :)
|
|||
70
Asmody
08.10.14
✎
14:13
|
(68) через document.selectNodes("//span[data-bind]") получить массив элементов, обойти его, проверяя через getAttribute("data-bind") значение атрибута data-bind, и получать значение свойства text
|
|||
71
Asmody
08.10.14
✎
14:15
|
Если selectNodes не сработает, тогда через document.getElementsByTagName("span")
|
|||
72
DES
08.10.14
✎
15:06
|
(71) document.getElementsByTagName("span") сработал
а вот a.item(0).getAttribute("data-bind",0) = пусто или как доступиться ? |
|||
73
DES
08.10.14
✎
15:48
|
a.item(53).getAttribute("data-bind") = "text: seria"
а дальше как ? |
|||
74
Serginio1
08.10.14
✎
16:01
|
Кстати а так
document.selectNodes("//span[@data-bind]") не проходит? |
|||
75
Asmody
08.10.14
✎
16:02
|
(73) if a.item(53).getAttribute("data-bind") = "text: seria" then seria = a.item(53).text;
|
|||
76
DES
08.10.14
✎
16:08
|
понял a.item(53).innerHTML = "EAA"
|
|||
77
DES
08.10.14
✎
16:10
|
a.item(53).text = Ошибка в выражении!
|
|||
78
Serginio1
08.10.14
✎
16:13
|
http://valex.net.ru/dom.html#dom11
Вы можете получить текст, содержащийся внутри абзаца, используя свойство textContent. Свойство textContent не существует в старых версиях IE, но другое, свойство - innerText - возвращает тоже значение: > bd.childNodes[1].textContent; "first paragraph" > bd.childNodes[1].innerText; "first paragraph" Существует также свойство innerHTML. Оно возвращает (или установливает) HTML-код, содержащийся в узле. Можно заметить, что такое поведение несколько противоречит модели DOM, которая представляет документ как дерево узлов, а не как строки тегов. Но свойство innerHTML оказалось настолько удобным, что встречается повсеместно: > bd.childNodes[1].innerHTML; "first paragraph" Первый абзац содержит только текст, таким образом и innerHTML и textContent (innerText в IE) возвращают одинаковое значение. Однако второй абзац содержит узел EM, таким образом можно увидеть различия свойств: > bd.childNodes[3].innerHTML; "<em>second</em> paragraph" > bd.childNodes[3].textContent; "second paragraph" Еще один способ получить текст, содержащийся в первом абзаце - это использовать свойство nodeValue текстового узла, содержащегося в узле-элементе P: > bd.childNodes[1].childNodes.length; 1 > bd.childNodes[1].childNodes[0].nodeName; "#text" > bd.childNodes[1].childNodes[0].nodeValue; "first paragraph" |
|||
79
DES
08.10.14
✎
16:14
|
(74) objDoc.selectNodes("//span[@data-bind]") = Ошибка в выражении!
|
|||
80
DES
08.10.14
✎
16:20
|
прокатило a.item(?).childNodes.item(0).nodeValue = "EAA"
|
|||
81
DES
08.10.14
✎
17:18
|
А как значение чекбокса получить из списка чекбоксов ?
<tr><td><input type="checkbox"></td></tr> <tr><td><input type="checkbox"></td></tr> <tr><td><input type="checkbox"></td></tr> <tr><td><input type="checkbox"></td></tr> |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |