Delphin911
-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by Delphin911
-
-
console.log не помогает. Попробовал сейчас после вашего совета. Оно даже в консоль не выводится.
function SaveConfig(submit) { var server = "/saveSettings?ssid=" + val('ssid') + "&password=" + encodeURIComponent(val('password')) + "&passwordAP=" + encodeURIComponent(val('passwordAP')) + "&ssidAP=" + val('ssidAP') + "&SSDP=" + val('SSDP') + "&IPAP=" + val('IPAP'); send_request(submit,server); console.log("Изменения сохранены."); location.reload(); }
Вот у меня вместо console.log был alert и все срабатывало. А тут видно перезагрузка срабатывает раньше и не дает сохраниться и в лог консоли отправить.
-
Это я понял. А что делать то?
-
Сразу скажу за основу брал чужой код. Есть основная страничка страничка. На ней меню, по нажатию на ссылки в котором открываются другие странички.
Так вот по открытию одной из них считываются имена файлов, расположенных на устройстве. Они и считываются.
function GetList(submit) { var server = "/list?dir=/"; send_request(submit, server); alert("блаблабла"); alert('2' + submit.value); } function send_request(submit,server){ var request = new XMLHttpRequest(); request.open("GET", server, true); request.send(); save_status(submit,request); //alert('1' + submit.value); } function save_status(submit,request){ var new_submit; var old_submit = submit.value; request.onreadystatechange = function() { if (request.readyState != 4) return; submit.value = request.responseText; new_submit = request.responseText; setTimeout(function(){ submit.value=old_submit; submit_disabled(false); }, 1000); } submit.value = 'Подождите...'; submit.value = new_submit; submit_disabled(true); } function submit_disabled(request){ var inputs = document.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) { if (inputs[i].type === 'submit') {inputs[i].disabled = request;} } }
Первая функция отправляет запрос на устройство. Устройство считывает список файлов и возвращает в виде массива типа
[{"type":"dir","name":"first"},{"type":"file","name":"second"}]
Но вот если в первой функции убрать всплывающее окошко по алерту с блаблабла, то alert('2' + submit.value); выдает "2undefined". Можно конечно вместо блаблабла написать вумную фразу, типа "Данные собираются". Но как-то это неправильно. Подскажите, что сделать, чтобы без этого окна применялось значение. Я всю голову сломал. Тут что-то с последовательностью действий. Например вот если я вставлю в какую нибудь функцию send_request тоже какой-нибудь алерт, то алерт из первой функции выскакивает первый! В других языках программирования тот алерт, что в вызываемой йункции первым бы отработал. А тут такая фигня. Не могу понять этого!
-
Народ, нашел простенькую менюшку контекстную. Ну собственно принцип у всех один. Вот сама менюшка
<div id="main_menu"> <div onClick="jump(this);" id="openb">Открыть файл</div> <div onClick="jump(this);" id="delb">Удалить файл</div> </div>
А вот обработка
<script> function mousemove(event) { if (document.attachEvent != null) { mouse_x = window.event.pageX; mouse_y = window.event.pageY; } else if (!document.attachEvent && document.addEventListener) { mouse_x = event.pageX; mouse_y = event.pageY; } } function show_menu(e) { mousemove(e); menu_obj.style.left = mouse_x + "px"; menu_obj.style.top = mouse_y + "px"; menu_obj.style.visibility = "visible"; return false; } function hide_menu(e) { menu_obj.style.visibility = "hidden"; } function jump(e) { alert(e.getAttribute("title"));window.location=e.getAttribute("title");} //document.oncontextmenu = show_menu; document.onclick = hide_menu; </script>
Проблема вот в чем. Я генерю табличку со списком файлов
<table id="myTable"> <tbody></tbody> </table>
function CreateView(data) { for (var i = 0; i < data.length; i++) { var tr = document.createElement('tr'); var td = tr.appendChild(document.createElement('td')); td.style.width = "30%"; td.innerHTML = data[i]['type']; td = tr.appendChild(document.createElement('td')); td.style.width = "70%"; td.innerHTML = data[i]['name']; td.oncontextmenu = show_menu; td.onmouseup = m_up(this); document.getElementById('myTable').tBodies[0].appendChild(tr); } }
Так вот по нажатию правой кнопкой на строчку таблички мне надо получить менюшку с 2 строчками: прочитать файл и удалить файл. Надо из таблички имя файла передать. Никак не получается. У show_menu ничего в параметрах подсьавить не дает.
Без вызова Alert("текст") не применяется значение.
in JavaScript
Posted
К стати если на компе во всех броузерах работает, то на смартфоне почему-то эта динамически строящаяся таблица не отрисовывается! В чем может быть дело?
Продолжаю бороться с задержкой при выводе результата и начинаю думать, что дело не в ней. Вот что написал почитав просторы инета:
Да, реально проходит 5 секунд ожидания, но на выходе пусто. Вот там еще закомментированные строки, тоже не работают. Толко alert спасает ситуацию.
Ну и к стати мне кажется, что на смартфоне и alert не помогает. Пустая страница.