Visualizzazione risultati 1 fino 6 di 6

Discussione: problema value di una input type="text"

  1. #1
    Guest

    Question problema value di una input type="text"

    Salve!
    Dunque io dovrei leggere una frase presente nel campo "testo" nella tabella "messaggio"...e inserire questo testo in una form, precisamente in una input di tipo text.
    Ho aperto la connessione al db.
    Poi...
    Codice PHP:
    mysql_select_db("messaggi")or die("selezione db fallita");
    $query="SELECT testo from messaggio";
    $ris=mysql_query($query)or die("query fallita");

    $r=mysql_fetch_array($ris);

    //per provare ho fatto solo col primo

    echo'1 <input type="text" name="uno" size=40 value= '. $r[0] . ' readonly><br/>';
    Il problema è che in parte funziona,però nella input text mi appare soltanto la prima parola del testo del messaggio e non tutto...Perchè?è sbagliato come sto facendo?
    Praticamente mi scrive nella input la prima parola del msg e al primo spazio che vede non scrive niente più...Come potrei risolvere?
    Grazie Spero possiate aiutarmi!
    Ultima modifica di musicanapoli : 15-06-2010 alle ore 13.51.44 Motivo: Codice racchiuso tra i tags.

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Hai controllato se nel sorgente della pagina c'è il messaggio che vuoi visualizzare nell'input?
    Secondo me il problema è che non racchiudi tra le virgolette il contenuto dell'attributo value, prova così:
    Codice PHP:
    echo'1 <input type="text" name="uno" size=40 value="'. $r[0] . '" readonly><br/>';

  3. #3
    Guest

    Predefinito

    ha ragione javascripter, prova a metterlo in un altro modo, ovvero:
    Codice PHP:
    <?php
    // qui ovviamente ci va la parte prima
    mysql_select_db("messaggi")or die("selezione db fallita");
    $query="SELECT testo from messaggio";
    $ris=mysql_query($query)or die("query fallita");

    $r=mysql_fetch_array($ris);

    ?>
    <html>
    <body>
    //testo che vuoi tu o quello che ci va
    1<input type="text" value="<?php echo $r[0]; ?>" readonly="readonly"><br/>
    //il resto
    </body>
    </html>
    tra l'altro mi sembra che l'attributo readonly vada scritto come ho messo io (non ne sono sicuro però)

  4. #4
    Guest

    Predefinito

    si grazie,già avevo risolto, il problema erano le virgolette infatti...il resto andava bene :) grazieee

    EDIT

    Come faccio però a mettere nella input text soltanto un'anteprima del msg? per esempio solo i primi 20 caratteri.
    Io avevo provato cosi!
    ...Proseguendo il codice di prima...
    Codice PHP:
    while($r=mysql_fetch_array($ris)){
    $a=$r['sms'];
    echo
    '<input type="text" size=40 value= "'. $a . '" onClick="mostra(this)" ><br/>';
    }
    dove:

    Codice HTML:
    function mostra(obj){
    
    var e=document.boh.msg;
    e.innerHTML = obj.value;
    }
    (boh è il nome del form...msg è l'id della textarea)
    solo che ovviamente il value della input è il messaggio per intero,così come mi serve...
    se io mettessi nella input solo un anteprima dei primi 20 caratteri per esempio,facendo la funzione mostra mi mette solo quei 20 nella textarea...Come posso risolvere?
    Ultima modifica di musicanapoli : 15-06-2010 alle ore 23.10.48

  5. #5
    Guest

    Predefinito

    ti conviene riscrivere la funzione mostra, fai così:
    Codice PHP:
    //...Proseguendo il codice di prima...

    while($r=mysql_fetch_array($ris)){
    $a=$r['sms'];
    $b = substr($a, 0, 20)
    echo
    "<input type=\"tex\t" size=40 value= \"$b\" onClick=\"mostra('$a')\" ><br/>";
    }
    la funzione javascript invece
    Codice:
    function mostra(obj){
    
    var e=document.boh.msg;
    e.innerHTML = obj;
    }

  6. #6
    Guest

    Predefinito

    si ok...ho aggiustato un pochino perchè c'era qualche piccolo errore :)
    Grazie comunque...Thanks ^_^

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •