Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Leggere valore input

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12

    Leggere valore input

    Ciao a tutti!

    mi sono appena addentrato nel mondo Java in particolare le JSP..

    e giustamente dopo 1 settimana di studio ecco il primo problema

    come faccio a recuperare il valore che un utente mi inserisce a video in una text?

    sempre su questo forum mi hanno suggerito con JavaScript ma non sono riuscito a farlo...

    Potete gentilmente postarmi qualcosa?

    Questo e' quello che avevo fatto io

    codice:
    <form action = "index.jsp" method= "post"> 
    Indica il tuo NickName : <input type="text" name="nickname" value="prova" />
    
    <% String name = request.getParameter( "nickname" ); 
    if (name.length() == 0) { System.out.println("Funziona"); } 
    else { System.out.println("Non Funziona"); } %> 
    </form>

    Spero vivamente che qualcuno mi possa aiutare!

    Grazie mille

    Saluti
    Emanuele

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Comincia con l'imparare la differenza fra java e javascript...

    Ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12
    Originariamente inviato da br1
    Comincia con l'imparare la differenza fra java e javascript...

    Ti sposto


    eh ma a me servirebbe appunto uno javascript che mi permetta di reperire il valore di una text!

    da quello che ho capito e magari sbaglio l'istruzione e'

    codice:
    documentation.getElementbyID("nome_Parametro")

    se mi sbaglio ditemi pure! ma se dovesse essere questa come la innesto in codice jsp?

    Grazie
    Emanuele

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da br1
    Comincia con l'imparare la differenza fra java e javascript...

    Ti sposto
    Mi sa che servono ulteriori delucidazioni in merito.

    @dk_8911: tu cos'è che vuoi ottenere, che non si è ancora capito? Intendo proprio visivamente.

    Perchè se tu vuoi fare in modo che, quando l'utente scrive qualcosa in una textfield automaticamente questo qualcosa compaia a video nella pagina, allora ti serve JavaScript, se vuoi che questo qualcosa compaia DOPO che l'utente ha cliccado un pulsante (inviato un FORM)o un link (ad una risorsa), allora ti serve Java.

    Anche il buon br1 non sa bene cosa vuoi fare...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12
    Chiedo scusa a tutti e ricomincio cercando di essere piu' chiaro possibile


    avendo a video una text l'utente mette per esempio il suo nome.

    io vorrei soltanto che una volta inserito il nome e cliccato un pulsante io possa andare a leggere il valore presente nella text.

    fino a che si tratta di creare la text ok ma la fase di lettura mi risulta di difficile comprensione...

    Se non sono stato chiaro ovviamente resto a disposizione

    Chiedo scusa se prima mi sono spiegato poco e male.

    Saluti
    E

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ok, lo si può fare tramite Java, ma ti deve essere chiaro che si tratta di tre passaggi, non di uno.

    1) Primo passaggio: viene richiesta una pagina JSP e questa viene elaborata e inviata al client. La pagina visualizzerà la TextField è il pulsante di conferma

    2) Il pulsante di conferma deve richiamare una risorsa sul server (può essere un'altra pagina JSP, la stessa pagina JSP o una Servlet). Questa risorsa preleverà il valore della TextField e la renderà disponibile ad una nuova (o anche alla stessa) pagina, che in qualche modo visualizzerà il contenuto

    3) Questa nuova pagina JSP (che può essere anche la stessa di prima) verrà elaborata e verrà inviata al client una nuova pagina HTML con tutto il necessario

    Facciamolo tutto con una sola pagina JSP:

    index.jsp
    codice:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <html>
    <head><title>Pagina</title>
    <body>
       <form action="index.jsp" method="post">
          <input type="text" name="nickname" value="" />
          <input type="submit" value="Conferma" />
       </form>
       <c:if test="${param.nickname != null && param.nickname != ''}">
       
    
    Benvenuto ${param.nickname}</p>
       </c:if>
    </body>
    </html>
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12
    Originariamente inviato da LeleFT
    Ok, lo si può fare tramite Java, ma ti deve essere chiaro che si tratta di tre passaggi, non di uno.

    1) Primo passaggio: viene richiesta una pagina JSP e questa viene elaborata e inviata al client. La pagina visualizzerà la TextField è il pulsante di conferma

    2) Il pulsante di conferma deve richiamare una risorsa sul server (può essere un'altra pagina JSP, la stessa pagina JSP o una Servlet). Questa risorsa preleverà il valore della TextField e la renderà disponibile ad una nuova (o anche alla stessa) pagina, che in qualche modo visualizzerà il contenuto

    3) Questa nuova pagina JSP (che può essere anche la stessa di prima) verrà elaborata e verrà inviata al client una nuova pagina HTML con tutto il necessario

    Facciamolo tutto con una sola pagina JSP:

    index.jsp
    codice:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <html>
    <head><title>Pagina</title>
    <body>
       <form action="index.jsp" method="post">
          <input type="text" name="nickname" value="" />
          <input type="submit" value="Conferma" />
       </form>
       <c:if test="${param.nickname != null && param.nickname != ''}">
       
    
    Benvenuto ${param.nickname}</p>
       </c:if>
    </body>
    </html>
    Ciao.

    Ho provato ad eseguire le istruzioni che mi hai detto ma il risultato e' che non mi trova la libreria :S

    ma una curiosita' quale e' l'istruzione in questo caso che intercetta l'evento click?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ok, lasciamo perdere JSTL e andiamo di vecchio scriptlet, poi rispondo alla tua domanda:
    codice:
    <html>
    <head><title>Pagina</title>
    <body>
       <form action="index.jsp" method="post">
          <input type="text" name="nickname" value="" />
          <input type="submit" value="Conferma" />
       </form>
       <%
          String nickName = request.getParameter("nickname");
          if ((nickName != null) && !"".equals(nickName)) { %>
       
    
    Benvenuto <% out.print(nickName); %></p>
       <%
          }
       %>
    </body>
    </html>
    Non c'è nessuna "istruzione" che intercetta l'evento clic. Semplicemente, in HTML, quando c'è un form questo viene inviato alla risorsa indicata nel parametro "action" quando l'utente fa clic sul pulsante contraddistinto dal tipo "submit".

    Quindi, ogni form ha un parametro action che dice a quale risorsa verranno inviati i dati e dovrebbe anche avere un pulsante di tipo "submit" che faccia capire che è lui il responsabile dell'invio dei dati. In realtà si può anche fare a meno del pulsante "submit", ma a questo punto il form va inviato tramite una chiamata JavaScript che si occupa di prelevare il form e inviarlo, ma questi sono discorsi che esulano da questa trattazione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12
    Ok funge anche se ancora non mi spiego come mai la parte di recupero del testo nella textfield a video e' la stessa mia

    a parte il fatto che io avevo messo un blocco if per verificare la correttezza del testo che ho inserito non trovo differenze del perche' il tuo funziona e il mio no :S

    Si vede che ho molto da imparare in questo linguaggio! ahahhahah

    Grazie davvero per il supporto che mi stai dando

    Saluti
    Emanuele

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Nel tuo codice avevi tutto tranne il pulsante (il submit). Quindi, come può la pagina HTML sapere quando inviare i dati al server?

    L'azione dell'utente è divisa in due fasi:

    1) Scrive qualcosa nella textfield
    2) Clicca sul pulsante per inviare i dati al server, che li elabora

    Nel tuo caso... l'azione numero 2 come veniva fatta? Perchè io non ho visto alcuna submit... è per questo che pensavo tu volessi avere l'informazione lato client e ti avevo (erroneamente) suggerito JavaScript.

    La tua if era (quasi) giusta. Io l'ho sostituita con qualcosa di più "sicuro". Se il parametro non esiste (perchè è la prima volta che la pgina viene visualizzata o per qualche altro motivo che non conosco), il metodo getParameter() dell'oggetto request ritornerà un bel "null". Cercare di invocare il metodo length() su un oggetto nullo provoca un'eccezione: NullPointerException.

    La mia "if" è più sicura perchè, per prima cosa, si preoccupa che la variabile non sia nulla e poi controlla che non sia vuota. Sono tecniche che si imparano con la pratica e, purtroppo, scontrandosi con tanti e tanti errori.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.