Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Premo A Capo (invio) e sballa il campo

    Quando scrivo nel form in lineare stampa giusto, quando invece scrivo e poi premo il tasto A Capo mi crea nuovi box sotto invece di scrivere nello stesso box
    Ho messo anche questo ma non fa niente

    Codice PHP:
    $messaggioS str_replace("\n","",$messaggioS); 
    Le 3 xxx avrebbero dovuto stampare sotto Ciao invece si sono creati nuovi box



  2. #2
    scusa ma che componente stai usando??
    non ho ben capito quindi potrei dire una scemenza, ma non è che magari è il comportamento di default di quel campo??

  3. #3
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da fermat
    scusa ma che componente stai usando??
    non ho ben capito quindi potrei dire una scemenza, ma non è che magari è il comportamento di default di quel campo??
    Non ho capito cosa intendi, di solito quando si preme A capo inizia a scrivere nella riga sotto

  4. #4
    si ok, ma non si capisce bene che componente HTML(?) stai usando.
    è una textarea?
    è un editor html tipo ckeditor?..........

  5. #5
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da fermat
    si ok, ma non si capisce bene che componente HTML(?) stai usando.
    è una textarea?
    è un editor html tipo ckeditor?..........
    Questa è la parte del codice, il campo del form è il textarea dove stampa $messaggioS che equivale a $testi[6]

    Codice PHP:
    ...

    echo 
    "<div class=\"stampaS\">";
                        
                    echo 
    "<div class=\"dataBox\">$testi[0]</div>
    "
    ;
                        
                    echo 
    "<div class=\"nomeBox\">$testi[1]</div>";  
                
                    echo 
    "<div class=\"cittaBox\">$testi[2]</div>"
                    
                    echo 
    "<div class=\"mailBox\">$testi[3]</div>"
                    
                    echo 
    "<div class=\"ipBox\">$testi[4]</div>";
                    
                    echo 
    "<div class=\"bandierinaBox\">$testi[5]</div>";

                    echo 
    "<div class=\"messaggioBox\">$testi[6]</div>";

                   echo 
    "</div>"// stampaS

    ... 

  6. #6
    scusa, forse sono io che sono fuso da un'intera giornata di lavoro, ma:
    -nel codice che hai postato vedo solo <div> e nessuna <textarea>
    - il comportamento di defaulta di una <textarea> è quando premi il testo invio vai a capo; se a te non fa così vuol dire che c'è qualcosa che ne ha cambiato il comportamento e da quello che hai postato non si riesce molto a capire......

  7. #7
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da fermat
    scusa, forse sono io che sono fuso da un'intera giornata di lavoro, ma:
    -nel codice che hai postato vedo solo <div> e nessuna <textarea>
    - il comportamento di defaulta di una <textarea> è quando premi il testo invio vai a capo; se a te non fa così vuol dire che c'è qualcosa che ne ha cambiato il comportamento e da quello che hai postato non si riesce molto a capire......
    Dici questo?

    Codice PHP:
    <textarea name="messaggioS" id="txtScrivimi1-S" cols="0" rows="0" onkeyup="contaS(this); messaggioCampoS(); parolaNoS()" onblur="messaggioCampoS(); parolaNoS(); this.value=this.value.replace(/[\s]*/,'')"><?php echo($_SESSION['messaggioS'])?></textarea>

  8. #8
    io vedo che ci sono varie funzioni richiamate in più eventi.
    sei sicuro che nessuna di quelle funzioni alteri il comportamento della <textarea>??
    stai usando un qualche plugin jquery o simili??


    PS: a occhio direi che è più un problema JS che PHP.....

  9. #9
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da fermat
    io vedo che ci sono varie funzioni richiamate in più eventi.
    sei sicuro che nessuna di quelle funzioni alteri il comportamento della <textarea>??
    stai usando un qualche plugin jquery o simili??


    PS: a occhio direi che è più un problema JS che PHP.....

    Per me è questo codice che crea il problema, ma non so dove mettere le mani

    Codice PHP:
    if(file_exists('messaggi.html')){ 
        $righe_mess = file('messaggi.html');//ritorna un array con le righe del file
            if(is_array($righe_mess)){
                foreach($righe_mess as $num_riga => $testo_riga){           
                    $testi=explode("|",$testo_riga);
                   if($testi[0] !=""){
                   
                  echo "<div class=\"stampaS\">";
                  
                   echo "<div class=\"dataBox\">$testi[0]</div>
    ";
                    
                    echo "<div class=\"campiAltiS\">";
                        
                    echo "<div class=\"nomeBox\">$testi[1]</div>";  
                
                    echo "<div class=\"cittaBox\">$testi[2]</div>"; 
                    
                    echo "<div class=\"mailBox\">$testi[3]</div>"; 
                    
                    echo "<div class=\"ipBox\">$testi[4]</div>";
                    
                    echo "<div class=\"bandierinaBox\">$testi[5]</div>";
                    
                    echo "</div>"; // campiAltiS

                    echo "<div class=\"messaggioBox\">$testi[6]</div>";
                    
                echo "</div>"; // stampaS
                     }
                }
            }
        }

    if(isset($_POST['invia'])){

    //controlli

    $mess_da_ins=$data_localeS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."|".$messaggioS."\n";
    $mess_ultimo=1000;  //numero di messaggi massimo da visualizzare
     if(file_exists('messaggi.html')){
            $righe = file('messaggi.html');
            $quante=count($righe);
            if($quante==0){  //il file messaggi.html esiste ma è vuoto
                $inserire=$mess_da_ins;
            }elseif($quante == 1){  //esiste una sola riga
                $inserire=$righe[0].$mess_da_ins;
            }elseif($quante > 1){
                if($quante < $mess_ultimo){
                    $righe[$quante]=$mess_da_ins;
                }else{
                    //sposto in su i messaggi (in pratica elimino il più vecchio)...
                    for($k= 0; $k< ($quante-1);$k++){
                        $j=$k+1;
                        $righe[$k]=$righe[$j];
                    }
                $righe[$mess_ultimo]=$mess_da_ins; //...e aggiungo l'ultimo
                }
                foreach($righe as $ch => $testo){ //preparo la stringa da salvare
                    $inserire.=$testo;
                }
            }
            file_put_contents('messaggi.html', $inserire);
        }
        else {
            file_put_contents('messaggi.html', $mess_da_ins);
        }
        echo "<meta http-equiv='REFRESH' content='0; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
        
    session_destroy();
    }
    else {

     //controlli

    //form
    <?php
    }
    ?>

  10. #10
    che io sappia il PHP non controlla comportamenti del genere.
    è lato client tramite JS e derivati che si fanno queste cose.
    leggendo quello che hai postato purtroppo non mi viene in mente nulla.

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.