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

    Problemi con controlli di un form

    Ciao a tutti!
    Volevo chiedere un aiuto per il seguente problema: ho un form che prende il nome dei prodotti da un db e lo spazio per mettere le relative quantità...Non mi funzionano i controlli!! quelcuno mi sa dire il perchè?
    O meglio con firefox mi dà il messaggio di alert ma poi si collega alla pagina successiva e con explorer non funziona se lascio tutte le quantità a zero...

    Questo è il codice:

    <%
    var con = Server.CreateObject("ADODB.Connection");
    con.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("informatica.mdb"));
    objRs = Server.CreateObject("ADODB.Recordset");
    var objRs = con.Execute(" Select * from prodotti ");
    %>
    <%
    var n = 0;
    %>
    <form name="prodotti" method="post" action="conferma.asp" >
    <center>
    <table border="1">
    <thead>
    <tr>
    <th>
    Prodotto
    </th>
    <th>
    Prezzo
    </th>
    <th>
    Quantità
    </th>
    </tr>
    </thead>
    <%
    while (!objRs.EOF)
    {
    n++;
    Response.write ("<tr><td>");
    Response.write (objRs("name"));
    Response.write ("</td><td >");
    Response.write (objRs("price") + "€");
    Response.write ("</td><td>");
    Response.write ("<center>");
    Response.write ("<input type=\"text\" name=\"t" + n + "\" value=\"0\" size=\"4\"
    maxlength=\"4\" onBlur=\"javascript:test(this)\">");
    Response.write ("</center>");
    Response.write ("</td></tr>");
    objRs.Movenext ();
    }%>
    </table>
    </center>

    <%
    objRs.Close();
    con.Close();
    objRs = null;
    con = null;
    %>

    <center>

    <input type="submit" value="Ordina">
    <input type="reset" value="Reset">


    </center>
    </form>





    </td>
    </tr>
    </table>
    </table>
    </td>
    </tr>
    <tr>
    <td>





    <script language=JavaScript>

    function test()
    {
    var string;
    var n;

    if (document.prodotti.t1.value == 0 && document.prodotti.t2.value == 0 && document.prodotti.t3.value == 0 && document.prodotti.t4.value == 0 && document.prodotti.t5.value == 0)
    {
    alert("Scegliere un prodotto!!!");
    return false;
    }

    if ((document.prodotti.t1.value < 0) || (isNaN(document.prodotti.t1.value)))
    {
    alert("Attenzione! Quantità errata di floppy-disk");
    return false;
    }

    if ((document.prodotti.t2.value < 0) || (isNaN(document.prodotti.t2.value)))
    {
    alert("Attnzione! Quantità errata di cd!!!");
    return false;
    }

    if ((document.prodotti.t3.value < 0) || (isNaN(document.prodotti.t3.value)))
    {
    alert("Attnzione! Quantità errata di dvd!!!");
    return false;
    }

    if ((document.prodotti.t4.value < 0) || (isNaN(document.prodotti.t4.value)))
    {
    alert("Attnzione! Quantità errata di toner!!!");
    return false;
    }
    if ((document.prodotti.t5.value < 0) || (isNaN(document.prodotti.t5.value)))
    {
    alert("Attnzione! Quantità errata di usb!!!");
    return false;
    }

    return true;
    }

    </script>

  2. #2
    la funzione javascript prende solo 5 controlli non se il ciclo del recordset ne ha piu di 5 !
    Inoltre sposta la funzione javascript in testa alla pagina che è più corretto.

    Verifica se onblur come evento sia accettato per IE ! forse è meglio onfocus !

    Ciao Steweb

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 © 2025 vBulletin Solutions, Inc. All rights reserved.