Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1

    aiuto per modifica javascript

    Buonasera, premetto che ho poca esperienza per quanto riguarda il linguaggio java.
    Ho un periferica ethernet basata su smnp che mi permette di fare dei comandi hardware tramite il webserver sulla periferica stessa. Purtroppo la funzionalita del webserver integrato nn mi soddisfa ed allora ho creato una pagina web con le funzioni che desidero. in pratica nella pagina originale dovevo seleezionare delle chekbox ed una volta selezionate quelle desiderate mi bastava premere il tasto change e lo stato delle uscite della periferica cambiava. io voglio che ogni volta che clicco su una singola checkbox mi esegua il comando. Vi posto la pagina originale e quella modificata da me

    ORIGINALE:
    <html><head>
    <link rel="stylesheet" href="gen.css" type="text/css">
    <script src="ioreg.js" type="text/javascript"></script>
    </head><body>
    <fieldset><legend>I/O ports</legend>



    <form name="iof">
    <table align="center">
    <tr class="Tr0"><td colspan="10">I/O ports control</td></tr>
    <tr class="Tr0"><td>Port</td><td colspan="8">Bit</td><td>Action</td></tr>
    <tr class="Tr0"><td></td><td>8</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td><td>1</td><td></td></tr>
    <tr class="Tr1"><td>P3
    (Output)</td>
    <td><input type="checkbox" name="p17"></td><td><input type="checkbox" name="p16"></td>
    <td><input type="checkbox" name="p15"></td><td><input type="checkbox" name="p14"></td>
    <td><input type="checkbox" name="p13"></td><td><input type="checkbox" name="p12"></td>
    <td><input type="checkbox" name="p11"></td><td><input type="checkbox" name="p10"></td>
    <td rowspan="2"><input type="button" value="Change" onclick="return checksubmit(this)"></td></tr>
    <tr class="Tr2"><td>P5
    (Output)</td>
    <td><input type="checkbox" name="p27"></td><td><input type="checkbox" name="p26"></td>
    <td><input type="checkbox" name="p25"></td><td><input type="checkbox" name="p24"></td>
    <td><input type="checkbox" name="p23"></td><td><input type="checkbox" name="p22"></td>
    <td><input type="checkbox" name="p21"></td><td><input type="checkbox" name="p20"></td>
    </tr>
    <tr class="Tr1"><td rowspan="2">P6
    (Input)</td>
    <td><input type="checkbox" name="p47"></td><td><input type="checkbox" name="p46"></td>
    <td><input type="checkbox" name="p45"></td><td><input type="checkbox" name="p44"></td>
    <td><input type="checkbox" name="p43"></td><td><input type="checkbox" name="p42"></td>
    <td><input type="checkbox" name="p41"></td><td><input type="checkbox" name="p40"></td><td></td></tr>
    <tr class="Tr2">
    <script type="text/javascript">
    var d=document
    for(var k=0;k<8;k++) d.writeln("<td>"+Math.round(1000*(3.3*IO[10-k]/1023))/1000+"V</td>")
    </script>
    <td></td></tr>
    <tr><td colspan="10">
    <input type="button" value="Restart target device" onclick="return tarsubmit(this)"></td></tr>
    </table></form>

    <form name="gensub" method="get" action="iochange.cgi">
    <input type="hidden" name="ref" value="re-done"><input type="hidden" name="01"><input type="hidden" name="02"></form>
    <form name="tarsub" method="get" action="tarreset.cgi"><input type="hidden" name="ref" value="re-done"></form>
    <script type="text/javascript">
    var f=d.iof
    function sp(val,obj) {if (val) obj.checked=1}
    sp(IO[0]&0x80,f.p17)
    sp(IO[0]&0x40,f.p16)
    sp(IO[0]&0x20,f.p15)
    sp(IO[0]&0x10,f.p14)
    sp(IO[0]&0x8,f.p13)
    sp(IO[0]&0x4,f.p12)
    sp(IO[0]&0x2,f.p11)
    sp(IO[0]&0x1,f.p10)
    sp(IO[1]&0x80,f.p27)
    sp(IO[1]&0x40,f.p26)
    sp(IO[1]&0x20,f.p25)
    sp(IO[1]&0x10,f.p24)
    sp(IO[1]&0x8,f.p23)
    sp(IO[1]&0x4,f.p22)
    sp(IO[1]&0x2,f.p21)
    sp(IO[1]&0x1,f.p20)
    sp(IO[10]>512,f.p47)
    sp(IO[9]>512,f.p46)
    sp(IO[8]>512,f.p45)
    sp(IO[7]>512,f.p44)
    sp(IO[6]>512,f.p43)
    sp(IO[5]>512,f.p42)
    sp(IO[4]>512,f.p41)
    sp(IO[3]>512,f.p40)
    function checksubmit(submitbtn){
    var s=""
    submitbtn.disabled=1
    s=(f.p17.checked<<7)|(f.p16.checked<<6)|(f.p15.che cked<<5)|(f.p14.checked<<4)|(f.p13.checked<<3)|(f. p12.checked<<2)|(f.p11.checked<<1)|f.p10.checked
    s=s.toString(16)
    if (s.length < 2) s='0'+s
    else s=''+s
    d.gensub.elements[1].value=s.toUpperCase()
    s=(f.p27.checked<<7)|(f.p26.checked<<6)|(f.p25.che cked<<5)|(f.p24.checked<<4)|(f.p23.checked<<3)|(f. p22.checked<<2)|(f.p21.checked<<1)|f.p20.checked
    s=s.toString(16)
    if (s.length < 2) s='0'+s
    else s=''+s
    d.gensub.elements[2].value=s.toUpperCase()
    d.gensub.submit()
    return 0
    }
    function tarsubmit(submitbtn){
    submitbtn.disabled=1
    d.tarsub.submit()
    return 0
    }
    </script>
    </fieldset></body></html>


    MODIFICATA:
    <html><head>
    <link rel="stylesheet" href="http://192.168.1.60/gen.css" type="text/css">
    <script src="http://192.168.1.60/ioreg.js" type="text/javascript"></script>
    </head>
    <body>
    <form name="iof" >

    <table align="center">

    <tr class="Tr0"><td colspan="10">I/O ports control</td>
    </tr>

    <tr class="Tr0"><td>Port</td><td>8</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td><td>1</td>
    </tr>

    <tr class="Tr1">
    <td><input type="hidden" name="p17"></td>
    <td><input type="hidden" name="p16"></td>
    <td><input type="hidden" name="p15"></td>
    <td><input type="hidden" name="p14"></td>
    <td><input type="hidden" name="p13"></td>
    <td><input type="hidden" name="p12"></td>
    <td><input type="hidden" name="p11"></td>
    <td><input type="hidden" name="p10"></td>
    </tr>

    <tr class="Tr2"><td>P5
    (Output)</td>
    <td><input type="checkbox" name="p27" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p26" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p25" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p24" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p23" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p22" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p21" onclick="return checksubmit(this)"></td>
    <td><input type="checkbox" name="p20" onclick="return checksubmit(this)"></td>
    </tr>

    <tr class="Tr1">
    <td><input type="hidden" name="p47"></td>
    <td><input type="hidden" name="p46"></td>
    <td><input type="hidden" name="p45"></td>
    <td><input type="hidden" name="p44"></td>
    <td><input type="hidden" name="p43"></td>
    <td><input type="hidden" name="p42"></td>
    <td><input type="hidden" name="p41"></td>
    <td><input type="hidden" name="p40"></td>
    </tr>

    <script type="text/javascript">
    var d=document
    for(var k=0;k<8;k++) d.writeln("")
    </script>

    </table>
    </form>

    <form name="gensub" method="get" action="http://192.168.1.60/iochange.cgi" target="_self">
    <input type="hidden" name="ref" value="re-done">
    <input type="hidden" name="01">
    <input type="hidden" name="02"></form>
    <form name="tarsub" method="get" action="tarreset.cgi">
    <input type="hidden" name="ref" value="re-done">
    </form>

    <script type="text/javascript">
    var f=d.iof
    function sp(val,obj) {if (val) obj.checked=1}
    sp(IO[0]&0x80,f.p17)
    sp(IO[0]&0x40,f.p16)
    sp(IO[0]&0x20,f.p15)
    sp(IO[0]&0x10,f.p14)
    sp(IO[0]&0x8,f.p13)
    sp(IO[0]&0x4,f.p12)
    sp(IO[0]&0x2,f.p11)
    sp(IO[0]&0x1,f.p10)
    sp(IO[1]&0x80,f.p27)
    sp(IO[1]&0x40,f.p26)
    sp(IO[1]&0x20,f.p25)
    sp(IO[1]&0x10,f.p24)
    sp(IO[1]&0x8,f.p23)
    sp(IO[1]&0x4,f.p22)
    sp(IO[1]&0x2,f.p21)
    sp(IO[1]&0x1,f.p20)
    sp(IO[10]>512,f.p47)
    sp(IO[9]>512,f.p46)
    sp(IO[8]>512,f.p45)
    sp(IO[7]>512,f.p44)
    sp(IO[6]>512,f.p43)
    sp(IO[5]>512,f.p42)
    sp(IO[4]>512,f.p41)
    sp(IO[3]>512,f.p40)
    function checksubmit(submitbtn){
    var s=""
    submitbtn.disabled=1
    s=(f.p17.checked<<7)|(f.p16.checked<<6)|(f.p15.che cked<<5)|(f.p14.checked<<4)|(f.p13.checked<<3)|(f. p12.checked<<2)|(f.p11.checked<<1)|f.p10.checked
    s=s.toString(16)
    if (s.length < 2) s='0'+s
    else s=''+s
    d.gensub.elements[1].value=s.toUpperCase()
    s=(f.p27.checked<<7)|(f.p26.checked<<6)|(f.p25.che cked<<5)|(f.p24.checked<<4)|(f.p23.checked<<3)|(f. p22.checked<<2)|(f.p21.checked<<1)|f.p20.checked
    s=s.toString(16)
    if (s.length < 2) s='0'+s
    else s=''+s
    d.gensub.elements[2].value=s.toUpperCase()
    d.gensub.submit()
    return 0
    }
    function tarsubmit(submitbtn){
    submitbtn.disabled=1
    d.tarsub.submit()
    return 0
    }
    </script>
    </body></html>

    la pagina creata da me mi soddsfa ma l'unico neo è che quando clicco sulle singole chekbox, oltre al comando mi reindirizza alla pagina re-done all'interno dl web server.
    io invece vorrei che ogni qual volta clicco sulla checkbox, mi esegua il comando ma mi reindirizzi alla stessa pagina da me creata, tipo un refresh della pagina invece che reindirizzarmi su un altra.
    in pratica ho visto che la stringa che comanda il reindirizzamento è
    <input type="hidden" name="ref" value="re-done">
    dove il valore value mi definisce a quale pagina reindirizzarmi ma purtroppo non posso inserire pagine esterne al webserver della periferica.
    Spero di essermi spiegato, è piu difficile a dirsi che non a farsi.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Titolo...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.