Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585

    Confronto stringhe e variabili

    Ciao a Tutti,
    ho un problema:

    ho creato un campo di testo in una form che si chiama "chooser",
    quando uno digita un valore mi controlla se questo valore e' contenuto in un campo di un database di Access.
    Se avviene il match tra la stringa di testo digitata e
    il valore nel DB allora mi si apre una pag.htm

    Ho quindi creato il campo testo:
    <INPUT type= text name=archive VALUE="dd/mm/yy" onmouseout="wait();"

    Ho creato una variabile my_date che contiene tutti i valori che trova nel DB in questo formato "01/01/04 02/01/04 03/01/04 ..."

    La funzione wait pero' mi da' problemi:

    <head><script type="text/javascript">
    function wait() {
    // If (my_date.match(/document.chooser.archive.value/)) window.open("pag.htm");
    If (document.chooser.archive.value.search(/my_date/) != "0") window.open("pag.htm");
    // If (document.chooser.archive.value == my_date.substr(0,my_date.length)) window.open("pag.htm");
    }
    </script></head>

    Non so dove sbaglio, poiche' ho provato 3 diversi modi senza alcun risultato.
    Grazie in anticipo !!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non mi ritrovo con la tua descrizione ed il tuo script.

    Riscrivo la funzione e il form secondo come interpreto la tua domanda (ma che potrebbe non corrispondere al tuo problema)
    codice:
    <script type="text/javascript">
    var myDate = new Array();
    myDate[0] = "01/01/04";
    myDate[1] = "02/01/04";
    myDate[2] = "03/01/04";
    ...
    
    
    function wait(cc) {
      for(var i=0; i<myDate.length; i++) {
        if(cc.value == myDate[i]) {
          window.open("pag.htm");
          return true;
        }
      }
      return false;
    }
    </script>
    </head>
    <body>
    ...
    <form name="chooser" ...>
    <input type="text" name="archive" value="dd/mm/yy" onblur="wait(this);">
    ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie Mich_ per il tuo aiuto, ti posto pero' tutto il codice perche' forse non mi sono espresso bene:
    volevo dirti che secondo me sbaglio nel fare il confronto con la variabile my_date all' interno della funzione wait()

    <%@ Language=VBScript %>
    <% Option Explicit
    Dim my_count, my_date, my_date2, objConn, objRS, strSQL
    %>

    <html>
    <head>
    <script type="text/javascript">
    function wait() {
    // If (my_date.match(/document.chooser.req_archive.value/)) window.open("pag.htm");
    If (document.chooser.req_archive.value.search(/my_date/) != "0") window.open("pag.htm");
    // If (document.chooser.req_archive.value == my_date.substr(0,my_date.length)) window.open("pag.htm");
    }
    </script>
    </head>
    <body>

    <%
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString = "DSN=prot04.dsn"
    objConn.Open
    '
    strSQL = "SELECT ID, Date_Arc FROM t_protin"
    Set objRS = objConn.Execute(strSQL)
    '
    Do While Not objRS.EOF
    my_count = objRS(0) + 1
    my_date = objRS(1) & " " & my_date
    objRS.MoveNext
    Loop
    '
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
    %>

    <FORM NAME="chooser" METHOD=POST ACTION="post_in_db.asp">

    <p align="center">
    <font face="Gill Sans MT">Number </font>
    <INPUT readonly NAME=req_id VALUE="<%=my_count%>" size="6" style="color: red; border-style: solid; border-width: 0; background-color: #CCFFFF; text-align:center"></p>

    <p align="center">
    <font face="Gill Sans MT">Date </font>
    <INPUT TYPE=TEXT NAME=req_archive VALUE="dd/mm/yy" onmouseout="wait();" size="9" MAXLENGTH="8" style="color: red; border-style: solid; border-width: 0; background-color: #CCFFFF; text-align:center"></p>

    <p align="center">
    <INPUT TYPE=SUBMIT VALUE='Submit'></p>

    </FORM></body></html>

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sa che stai cercando di confrontare un campo sul client con un dato sul server. Non e` possibile.

    Il client non vede il codice ASP (quello compreso tra <% e %> ).

    Se vuoi fare unconfronto, devo trasferire il database al client. Partendo dal mio esempio:

    var myDate = new Array();
    myDate[0] = "<%=myDate(1)%>";
    myDate[1] = "<%=myDate(2)%>";
    myDate[2] = "<%=myDate(3)%>";
    ...

    Nota: non conosco ASP, per cui lascio a te il compito di fare il loop ASP che ti porta ad avere un codice come questo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Ciao Mich_ grazie per le dritte, ora provo a trasferire il contenuto del campo del DB in una variabile leggibile con javascript.

    Grazie mille !!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Ciao Mich_ ci sono riuscito a far leggere a javascript una variabile in ASP.
    Posto a chi fosse interessato il codice:

    <%@ Language=VBScript %>
    <% Option Explicit
    Dim my_count, my_date, objConn, objRS, strSQL
    %>

    <html>
    <head>
    <script type="text/javascript">
    function wait() {
    if (myDate.indexOf(document.chooser.req_archive.value ) != "-1") window.open("pag.htm");
    }
    </script>
    </head>
    <body>

    <%
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString = "DSN=prot04.dsn"
    objConn.Open
    '
    strSQL = "SELECT ID, Date_Arc FROM t_protin"
    Set objRS = objConn.Execute(strSQL)
    '
    Do While Not objRS.EOF
    my_count = objRS(0) + 1
    my_date = objRS(1) & "
    " & my_date
    objRS.MoveNext
    Loop
    '
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
    %>

    <script type="text/javascript">
    var myDate="<%=my_date%>";
    </script>

    <FORM NAME="chooser" METHOD=POST ACTION="post_in_db.asp">

    <p align="center">
    <font size="4" color="#800080" face="Gill Sans MT">POST IN</font></p>

    <p align="center">
    <font face="Gill Sans MT">Number </font>
    <INPUT readonly NAME=req_id VALUE="<%=my_count%>" size="6" style="color: red; border-style: solid; border-width: 0; background-color: #CCFFFF; text-align:center"></p>

    <p align="center">
    <font face="Gill Sans MT">Date </font>
    <INPUT TYPE=TEXT NAME=req_archive VALUE="dd/mm/yy" onmouseout="wait();" size="9" MAXLENGTH="8" style="color: red; border-style: solid; border-width: 0; background-color: #CCFFFF; text-align:center"></p>

    <p align="center">
    <INPUT TYPE=SUBMIT VALUE='Submit'></p>

    </FORM>
    </body>
    </html>

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