Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JavaScript + ASP] per un # nella location

    Ciao a tutti,
    su una mia pagina Web ho un form con due campi in cui l'utente deve immettere il proprio
    nickname e la password per inviarli ad una pagina ASP.
    Questo form non presenta il solito pulsante submit, ma ha un link collegato ad una funzione
    JavaScript lato-client che si occupa di creare l'url a cui inviare i dati immessi e di navigare
    il documento verso questo url.
    Inoltre, ho avuto la necessità di inviare alla pagina ASP anche la location del documento corrente,
    quindi l'url creato dal JavaScript si presenta + o - così:

    Pagina.asp?URL=document.location&nome=nome_immesso &password=password_immessa

    Fino a qui è tutto Ok !
    Oggi ho introdotto nella mia pagina Web un collegamento che ha come destinazione un'altro punto
    dello stesso documento.


    <A NAME = 'top'>
    ...contenuto pagina
    <A HREF = '#top'>Clicca qui</A>


    Quando clicco su questo link, la location del mio documento diventa "Pagina.asp#top"
    e questo mi causa problemi quando devo inviare i dati alla pagina ASP.
    Infatti l'url creato dal JavaScript diventa:

    Pagina.asp?URL=document.location#top&nome=nome_imm esso&password=password_immessa

    E' corretto !
    Quando il JavaScript fa document.location=url per passare al nuovo url succede che NON navigo verso
    il nuovo documento (quindi non gli vengono inviati i dati) ma rimango su pagina.asp e, nella barra degli
    indirizzi mi ritrovo:

    http://localhost/pagina.asp#top&nome=nome_immesso&password=password _immessa

    che NON ha nulla a che vedere con l'url creato dal mio JavaScript: manca "URL=document.location".
    Mi chiedo: qual'è il problema ?
    Suppongo sia un problema di browser (lo stesso per IE, Netscape e FireFox) dato che la pagina ASP non riceve
    neanche i dati.
    Cosa posso fare ?

    Ciao
    Simo

  2. #2
    Utente bannato
    Registrato dal
    Oct 2003
    Messaggi
    372
    credo che al posto del "#" dovresti usare un'altra variabile.
    in modo che il lin invece di poresentarsi così:

    pagina.asp?URL=document.location#top&nome=nome_imm esso&password=password_immessa

    diventa una cosa tipo

    URL=document.location&ancora=top&nome=nome_immesso &password=password_immessa

    e poi vedi tu come usare questa variabile.
    non ho capito esattamente a cosa ti serve il document.location nella querystring. puoi farmi capire meglio il motivo per cui hai necessita di portarti dietro quel "document.location" quando con asp puoi recuperare il nome della pagina di provenienza con
    request.servervariables("http_referer")

  3. #3
    Ciao, ti ringrazio per la risposta.
    Ho risolto sostituendo, da JavaScript, il # con %23.
    Esattamente come %20 sostituisce gli spazi.

    Un verbo da 1 a 10 ?
    6 ? Boh !

    Ciao

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.