Идентифицировать элемент
Всем привет!
Есть форма. В ней 2 кнопки. При нажатии на одну кнопку сохраняются данные. При нажатии на другую - переход на другую страницу. Необходимо сделать так, чтобы черз 5 секунд после нажатия на кнопку "сохранить" нажималась кнопка "перейти". После нажатия на "сохранить" у этой кнопки появляется атрибут disabled="disabled". Т.е. если у данной кнопки есть данный атрибут, то должна срабатывать window.setTimeout(function() {document.getElementById('next').click();}, 5000); Проблема в том, что ид и название кнопки постоянно меняются. Постоянное только value и type. Пробовал сделать так: function a() { var elems = document.getElementById("responseform").getElementsByTagName("input"); for (i=0; i < elems.length; i++) { if (elems[i].disabled == "disabled" ) {window.setTimeout(function() {document.getElementById(\'next\').click();}, 5000);} else {window.setTimeout(function() {document.getElementById(\'next\').click();}, 5000);} } } Не работает |
Shurik,
Выложите HTML-код кнопок, оберните их в элемент с постоянным ID |
Получилось вычислить id элемента. написал скрипт, но он не работает. В js я новичок.
var elem = document.getElementById("responseform").getElementById("q180:20_-sibmit"); if (elem.getAttribute("disabled") == disabled) { {window.setTimeout(function() {document.getElementById("next").click();}, 5000);} else {window.setTimeout(function() {document.getElementById("next").click();}, 40000);} } Задача такова: Если элемент id="q180:20_-sibmit" (значение id изменяется) имеет атрибут disabled="disabled", то через 5 сек нажимается кнопка id="next", если атрибута нет, то кнопка id="next" нажимается через 40 сек. Зараннее благодарен |
Shurik, как вариант...
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> </script> </head> <body> <input type='text' id='test' disabled /> <button id='next' onclick='alert(1)'>next</button> <script type="text/javascript"> var e = document.getElementById('test'); if (e) { var t=e.getAttribute("disabled"); t=(t=='disabled'||t!=null)? 5000: 40000; setTimeout(function() {document.getElementById("next").click();}, t); } </script> </body> </html> |
Спасибо!
|
Часовой пояс GMT +3, время: 12:36. |