Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    error '800a0009' funzione split

    Ciao

    in un form di invio dati in db, ho inserito una funzione che utilizzo per splittare dei valori che provengono da una select option.

    In questo form c'è la possibilità di NON utilzzare la select, quindi di non selezionare il valore dalla select. Qui chiedo il vostro aiuto x superare il problema!
    Proprio xchè non seleziono nessun valore dalla select, ottengo questo errore:

    codice:
    Microsoft VBScript runtime error '800a0009'
    
    Subscript out of range: '[number: 0]'
    Il codice della funzione è questo:

    codice:
    <% function dividi(variabile,separatore,posizione)	
            if posizione = 1 then
            	dividi2=split(variabile,separatore)
    			'response.write(UBound(dividi2))
    			dividi=dividi2(0)
    			if dividi="" then
    			dividi=0
    			end if		
    		end if
            if posizione = 2 then
            	dividi2=split(variabile,separatore)
    			dividi=dividi2(1)	
    		end if
    end function %>
    Come posso aggiungere un controllo che in caso di non selezione della select option passi alla funzione 0 o null oppure salti direttamente l'errore?

    Ho visto che aggiungendo:

    codice:
    response.write(UBound(dividi2))
    il valore è: -1

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    If request("nomeselect") <> "" then dividi()
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    scusa ma non ci arrivo!

    Non so dove posizionare il tuo controllo e cosa mettere all'interno delle parentesi.

    La posiziono all'interno della funzione? Dopo la prima riga:

    codice:
    function dividi(variabile,separatore,posizione)
    Cosa metto all'interno delle parentesi?

    codice:
    If request("nomeselect") <> "" then dividi(.......)

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    E' una funzione la richiamerai da qualche parte? if lo metti li se il request è valorizzato lanci la funzione nelle parentesi (variabile,separatore,posizione)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    quale è la riga che dà errore?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    la riga che da errore è questa:

    codice:
    dividi=dividi2(0)
    Allora quando clicco sul tasto di inserimento dati, sottopongo il form ad un primo controllo:

    codice:
    if request.querystring("update")="add" then
    ...il codice si trova nel form:

    codice:
    <form name="form" id="form" method="post" action="?update=add">
    Dopo questo controllo ho inserito la funzione che alla riga

    codice:
    dividi=dividi2(0)
    da errore.

    La pagina continua con il recupero dei valori dalla select (l'esempio sotto è il recupero di 4 valori):

    codice:
    id_lingua=dividi(request.form("ID_CONTENUTI"),"-",1) 'Numerico che proviene select
    codice_lingua=dividi(request.form("ID_CONTENUTI"),"-",2)'Testo che proviene select
    id_contenuti=dividi(request.form("ID_CONTENUTI"),"-",3) 'Numerico che proviene select
    nome_contenuti=dividi(request.form("ID_CONTENUTI"),"-",4)'Testo che proviene select
    A questo punto ho recuperato i valori provenienti dalla select e gli ho assegnati ad ogni singola variabile.

    Qui dovrei mettere due controlli x i campi numeri:

    codice:
    if id_lingua =0 then id_lingua = "null" end if
    if id_contenuti=0 then id_contenuti ="null" end if
    Poi concludo con l'inserimento dei dati nella sql:

    codice:
    sql = "INSERT INTO Tab...."

  7. #7
    visto che

    dividi=dividi2(0)

    viene subito dopo

    dividi2=split(variabile,separatore)

    mi viene da pensare che variabile sia vuota o null

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Codice PHP:
    if request.form("ID_CONTENUTI") <> "" Then
    id_lingua
    =dividi(request.form("ID_CONTENUTI"),"-",1'Numerico che proviene select
    codice_lingua=dividi(request.form("ID_CONTENUTI"),"-",2)'
    Testo che proviene select
    id_contenuti
    =dividi(request.form("ID_CONTENUTI"),"-",3'Numerico che proviene select
    nome_contenuti=dividi(request.form("ID_CONTENUTI"),"-",4)'
    Testo che proviene select
    End 
    if 
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao ragazzi

    scusate se vi rispondo solo ora!

    Il controllo "if ...then" che ha suggerito cavicchiandrea funziona!

    Lo stesso controllo, ma con id diverso, l'ho provato contemporaneamente con 4 select diverse nella stessa pagina che estraggono dati da 4 tabelle diverse. Addirittura non s'inchioda se nelle 4 select ho due campi uguali come id_lingua e codice_lingua!

    Grazie!

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.