PDA

Просмотр полной версии : веб морда сетевого накопителя.


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



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

вот сам скрипт: <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>

а вот сама кнопка <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
Собственно не знал куда запостить, поэтому пусть будет здесь, заранее извиняюсь.



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

вот сам скрипт: <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>

а вот сама кнопка <input name="b_apply_up" type="button" id="b_apply_up" value="Start Upgrade" onClick="updatefirmware()">



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

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


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

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

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


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

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
скинь код странички где находится кнопка обновления.

kori256
14.04.2010, 12:02
вообще там все находится во фрейме, вот код где кнопка обновления:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv=="pragma" content="no-cache">
<meta http-equiv="Expires" content="Mon, 01 Jan 2000 00:00:01 GMT">
<link rel="stylesheet" type="text/css" href="../../feature.css">
<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>
<title>Administration -> Tools -> Upgrade</title>
</head>
<body onLoad="showMsg()">
<form action="admin_tls_up.cgi" method="post" enctype="multipart/form-data" name="f_up">
<table width="500" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bordercolordark="#ffffff" bordercolorlight="#6699cc">
<!--DWLayoutTable-->
<tr>
<td width="500" height="22" class=title>FW Upgrade</td>
</tr>
<tr>
<td height="138" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="15" height="18"></td>
<td width="136">&nbsp;</td>
<td width="338"></td>
<td width="7"></td>
</tr>
<tr>
<td height="22"></td>
<td colspan="2"><font color="#FF0000">Note: Please do not power off
the device while upgrading, </font></td>
<td></td>
</tr>
<tr>
<td height="22"></td>
<td colspan="2"><font color="#FF0000">in this progress, some device
functions will be disabled!</font></td>
<td></td>
</tr>
<tr>
<td height="13"></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="22"></td>
<td valign="top">Current FW version:</td>
<td valign="top">V01R01</td>
<td></td>
</tr>
<tr>
<td height="22"></td>
<td colspan="2">
<input name="upfile" type="file" id="upfile" size="36"></td>
<td></td>
</tr>
</table></td>
</tr>
<tr>
<td height="22" align="center">
<input name="b_apply_up" type="button" id="b_apply_up" value="Start Upgrade" onClick="updatefirmware()">
</td>
</tr>
</table>
<input type="hidden" name="lang" value="en">
<input type="hidden" name="op" value="">
<input type="hidden" name="ret_msg" value="">
<input type="hidden" name="cur_page" value="admin_sys.htm">
<input type="hidden" name="next_page" value="admin_sys.htm">
</form>
</body>
</html>

dr.Web
14.04.2010, 12:14
так давай проясним кое что. ты выбрал прошивку.далее жмёшь кнопку у тебя вылетает сообщение "Upgrade now?" ??
попробуй невыбери прошивку и нажми на кнопку что тебе выдаст браузер?