Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684

    splittare una variabile per ottenere un array di valori (con ultimo vuoto)

    All'interno di un form, ho un ciclo che mi evidenzia i record di un database.

    Ora ho inserito un campo nascosto con successivo bottone che passa un campo di un record, ovviamente per ogni ciclo:
    codice:
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='<%=rs("IDFILM")%>'+'|'">
    ora mi hanno detto di splittare sul server la variabile "ARTICOLI" al fine di ottenere un array, con ultimo valore vuoto.

    Tutto questo per evitare il refresh della pagina.

    Ok. poniamo il caso che l'utente abbia cliccato su 2 dei 10 record, esempio ARTICOLI=1 e ARTICOLI=5

    ora dovrei avere una variabile che contiene quei valori.

    Se l'utente clicca sul pulsante "invia" del form:
    <input type="button" name="submit" value="invia">

    dovrei passare alla pagina che li processa.

    ESEMPIO:
    codice:
    <form method="post">
    
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='FILM 1'+'|'">
    
    
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'"> 
    
    
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'"> 
    
    
      <input type="submit" name="Submit" value="Invia">
    </form>
    <%
    film = split("film",",")
    response.write film
    %>
    ma restituisce questo errore:
    Oggetto risposta, ASP 0106 (0x80020005)
    È stato individuato un tipo di dati privo di handle.
    /asp/norefresh_variabile.asp

    da quello che ho capito dovrei eliminare l'ultimo valore vuoto... come posso fare?


    Potreste aiutarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    il codice inviato produce una variabile di questo tipo:

    prodotto1|prodotto2|prodotto3|

    dovrei splittare la variabile per leggerla con array, ecco il codice:
    codice:
    <form method="post">
    
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='FILM 1'+'|'">
    
    
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'"> 
    
    
    <input type="hidden" name="ARTICOLI"> 
    <input type="button" value="Aggiungi" 
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'"> 
    
    
      <input type="submit" name="Submit" value="Invia">
    </form>
    <%
    film = split(articoli,"|")
    %>
    1. dubbio
    Ho assegnato alla variabile film il contenuto splittato di "ARTICOLI"
    ora vorrei leggere il contenuto, ma con un semplice "response.write film" non riesco.
    Devo creare un ciclo FOR per visualizzare l'array FILM?
    "FILM" e' un array in seguito allo split, visto che e' una collezione di valori, giusto?

    2. in uqesto caso il pulsante "SUBMIT - INVIA" per processare i dati e' da omettere?

    grazie

  3. #3
    per stampare l'array film (é un array dopo lo split)

    FOR i = 0 TO UBOUND(film)
    Response.Write film(i) & "
    "
    NEXT

    per il resto non so

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    si ma non restituisce alcun valore...

    ho gia provato ma nulla...

  5. #5
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Originariamente inviato da dreaman74
    si ma non restituisce alcun valore...

    ho gia provato ma nulla...
    sicuro che la variabile articoli arrivi valorizzata correttamente? stampala a video
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Si ma non ho capito, effettivamente cosa fa la funzione...
    con lo spilt non c'è nessun errore...
    tengo a precisare che devo splittarla sul server, ottenendo un array.

    Ripeto non conosco questa funzione "onclick"...

    Quello che non mi e' chiaro, per passare la variabile con i valori devo cliccare sul pulsante submit, vedi script, oppure possoometter questo pulsante?

    Comunque se provo a stampare a video la varibaile:
    response.write articoli

    non mi appare nulla!!! ecco lo script per stampare a video la variabile:
    [CODE]
    <form method="post">

    <input type="hidden" name="ARTICOLI">
    <input type="button" value="Aggiungi"
    onclick="this.form.ARTICOLI.value+='FILM 1'+'|'">


    <input type="hidden" name="ARTICOLI">
    <input type="button" value="Aggiungi"
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'">


    <input type="hidden" name="ARTICOLI">
    <input type="button" value="Aggiungi"
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'">


    <input type="submit" name="Submit" value="Invia"> </form>
    <%
    'film = split(articoli,"|")
    response.write articoli
    %>

    ripeto la cosa che non mi e' chiara, dopo aver cliccato sui vari button, per valorizzare la variabile "ARTICOLI" devo cliccare sul pulsante "SUBMIT" oppurte posso ometterlo...
    in un caso o nell'altro la variabile non viene stampata a video

  7. #7
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Premessa: prima vengono eseguite le operazioni lato server e poi quelle lato client quindi nel tuo caso ad ogni click sui bottoni aggiungi al campo nascosto ARTICOLI i nomi dei film col pipe accodato...dato che le operazioni che stai facendo ( funzione onclick ) sono lato client dovrai mantenere il tasto submit e dopo il clik sul submit potrai splittare lato server ( come hai già scritto ) la variabile che recuperi dal valore del campo hidden ARTICOLI...è chiaro?

    p.s. ho messo la faccina perchè rileggendo quello che ho scritto mi sono accorto che potrebbe risultare un pochino contorto
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    DOVE SBAGLIO!!!

    ecco l'errore che mi appare:
    Oggetto risposta, ASP 0106 (0x80020005)
    È stato individuato un tipo di dati privo di handle.
    /asp/norefresh_variabile.asp

    ecco lo script completo:
    <form method="post">

    <input type="hidden" name="ARTICOLI">
    <input type="button" value="Aggiungi"
    onclick="this.form.ARTICOLI.value+='FILM 1'+'|'">


    <input type="hidden" name="ARTICOLI">
    <input type="button" value="Aggiungi"
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'">


    <input type="hidden" name="ARTICOLI">
    <input type="button" value="Aggiungi"
    onclick="this.form.ARTICOLI.value+='FILM 2'+'|'">


    <input type="submit" name="Submit" value="Invia"> </form>
    <%
    film = request.form("articoli")
    film = split(film,"|")
    'response.write articoli

    FOR i = 0 TO UBOUND(film)
    response.write film(i)
    NEXT
    %>

    Si ma se clicco su i vari aggiungi e poi submit
    mi stampa a video solo una virgola! ","

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Se clicco su SUBMIT , dopo aver cliccato su AGGIUNGI, su due pulsanti diversi, ho provato a controllare cosa mi da stampando a video la variabile.

    mi restituisce due virgole!!!

    Allora:
    <form>
    ...
    </form>

    film = request.form("articoli")
    response.write articoli

    AIUTO!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    scusate, mi correggo:
    film = request.form("articoli")
    response.write film

    mi stampa due virgole

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.