Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   веб морда сетевого накопителя. (https://forum.antichat.xyz/showthread.php?t=195294)

kori256 11.04.2010 06:49

веб морда сетевого накопителя.
 
Собственно не знал куда запостить, поэтому пусть будет здесь, заранее извиняюсь.



Имеется внешений сетевой накопитель, на нем есть веб интерфейс, там есть форма обновления прошивки, и ленивые китайцы поленились активировать кнопочку "Start Upgrade"

вот сам скрипт:
Код HTML:

<script language="JavaScript" type="text/javascript">
function showMsg()
{
        var f=document.forms[0];
       
        if(f.ret_msg.value != "")
                alert(f.ret_msg.value);
}

function startUp()
{
        var f=document.forms[0];
       
        if(confirm("Upgrade now?")){
                f.op.value="upnow";
                return true;
        }
       
        return false;
}

function checkNullFilename()
{
        var f=document.forms[0];
        if(f.upfile.value == ""){
                alert("Please choose a firmware to upload!");
                return false;
        }
        else
                return true;
}

var action="wait";
function fresh()
{
        var url = "data.tmp";
        var xml = new ActiveXObject("Microsoft.XMLHTTP");

        xml.open("GET",url,false);
        xml.send("async");

        if(xml.responseText=="upgrade")
                action = xml.responseText;
}

function upgrade()
{
        var url = location.href;
        var ip = url.split("/");
        //alert(ip[2]);
        fresh();
        if(action=="wait"){
                //alert(action);
                //alert("Rain");
                var timer = setTimeout("upgrade()", 1000);
        }else{
                //alert("ok");
                window.clearTimeout(timer);
                url = "http://" + ip[2] + "/upgrade_en.htm";
                //alert(url);
                parent.location.href = url;
                return true;
        }
}

function updatefirmware()
{
        if(!checkNullFilename())
                return false;
               
        if(!startUp())
                return false;
               
        upgrade();
        document.forms[0].submit();

        return true;
}
</script>

а вот сама кнопка
Код HTML:

<input name="b_apply_up" type="button" id="b_apply_up" value="Start Upgrade" onClick="updatefirmware()">


вобщем помогите как нибудь все таки отправить запрос на обновление прошивки, или что исправить, буду очень благодарен.

scrat 11.04.2010 13:04

в строке адреса:
Код:

javascript: document.GetElementById("b_apply_up").disabled=false; void 0

dr.Web 11.04.2010 13:25

Цитата:

Сообщение от kori256
Собственно не знал куда запостить, поэтому пусть будет здесь, заранее извиняюсь.



Имеется внешений сетевой накопитель, на нем есть веб интерфейс, там есть форма обновления прошивки, и ленивые китайцы поленились активировать кнопочку "Start Upgrade"

вот сам скрипт:
Код HTML:

<script language="JavaScript" type="text/javascript">
function showMsg()
{
        var f=document.forms[0];
       
        if(f.ret_msg.value != "")
                alert(f.ret_msg.value);
}

function startUp()
{
        var f=document.forms[0];
       
        if(confirm("Upgrade now?")){
                f.op.value="upnow";
                return true;
        }
       
        return false;
}

function checkNullFilename()
{
        var f=document.forms[0];
        if(f.upfile.value == ""){
                alert("Please choose a firmware to upload!");
                return false;
        }
        else
                return true;
}

var action="wait";
function fresh()
{
        var url = "data.tmp";
        var xml = new ActiveXObject("Microsoft.XMLHTTP");

        xml.open("GET",url,false);
        xml.send("async");

        if(xml.responseText=="upgrade")
                action = xml.responseText;
}

function upgrade()
{
        var url = location.href;
        var ip = url.split("/");
        //alert(ip[2]);
        fresh();
        if(action=="wait"){
                //alert(action);
                //alert("Rain");
                var timer = setTimeout("upgrade()", 1000);
        }else{
                //alert("ok");
                window.clearTimeout(timer);
                url = "http://" + ip[2] + "/upgrade_en.htm";
                //alert(url);
                parent.location.href = url;
                return true;
        }
}

function updatefirmware()
{
        if(!checkNullFilename())
                return false;
               
        if(!startUp())
                return false;
               
        upgrade();
        document.forms[0].submit();

        return true;
}
</script>

а вот сама кнопка
Код HTML:

<input name="b_apply_up" type="button" id="b_apply_up" value="Start Upgrade" onClick="updatefirmware()">


вобщем помогите как нибудь все таки отправить запрос на обновление прошивки, или что исправить, буду очень благодарен.

не думаю что китайцы ленивые и случайно забыли активировать кнопку. скорее всего чтото неверно делаешь.

kori256 11.04.2010 17:28

Цитата:

Сообщение от dr.Web
не думаю что китайцы ленивые и случайно забыли активировать кнопку. скорее всего чтото неверно делаешь.


я неверно выбираю прошивку и неверно тыкаю кнопку? scrat, не помогло, тоже никакой реакции ни в браузере ни на сетевом жестком((

dr.Web 11.04.2010 17:46

я не вижу где идёт выключение кнопки.вероятно там есть ещё какой то скрипт.
если я правильно понял кнопка не активна.или же по нажатии на неё ничего не происходит??

kori256 11.04.2010 18:31

Цитата:

Сообщение от dr.Web
я не вижу где идёт выключение кнопки.вероятно там есть ещё какой то скрипт.
если я правильно понял кнопка не активна.или же по нажатии на неё ничего не происходит??


да, при нажатии ничего не происходит

Red_EYEs 11.04.2010 19:17

javascript:document.forms[0].submit();
попробуй. тока запомни

dr.Web 11.04.2010 23:57

попробуй вот так javascript:upgrade();document.forms[0].submit();

мне всётаки кажется что чтото не так делаешь возможно файл прошивки не подходит.или мб проблема в браузере потому что там идёт запрос через аякс возможно браузер имеет другой тип аякса как то так.

kori256 12.04.2010 14:34

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

http://rghost.ru/1364966/image.png

dr.Web 13.04.2010 16:50

скинь код странички где находится кнопка обновления.


Время: 11:10