Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50

    [javascript] modificare il valore inserito in input

    Ciao a tutti,
    non riesco a capire dove sbaglio in questo script e quindi come terminarlo.

    Quando l'utente inserisce una stringa (solo numeri), devo fare in modo che i caratteri inseriti, vengano sostituiti inserendo la data completa.

    Ovvero, semplicemente.
    Inserisce "12102000" e nel campo di input avro' "12/10/2000"

    Questo il codice php
    Codice PHP:

    <form id="modulo" name="modulo">

    <
    input type="text" onkeyup="if (this.value.length==4){this.blur()}" 
                       
    onchange="validate([B]this.form[/B],this.value)" 
                       
    size="6" 
               
    maxlength="6" 
                       
    value="" 
               
    name="data" 
               
    id="data">

    </
    form
    Questa la funzione js, ma che non funziona, perche' non ho il nome del form.

    Codice PHP:
    function validate(formid){
        
        
    alert(form);
        
    alert(id);

        if (
    id.length 6){
            
    alert('Insert six char');
            
    document.nameform.id.value.focus();
            return 
    false;
        }else{
            
    gg=id.substr(0,2);
                   
    mm=id.substr(2,2);
            
    yy=id.substr(4,2);

     
            
    strnewdate=gg+"/"+mm+"/"+yy;
        
            
    alert(strnewdate);

    --> 
    COSA INSERIRE PER FAR TORNARE IL VALORE NELLA FORM <--
            
            return 
    true;
        }

    Grazie in anticipo

  2. #2
    io farei così
    Codice PHP:
    <form id="modulo" name="modulo"

    <
    input type="text" onkeyup="if (this.value.length==4){this.blur()}"  
                       
    onchange="validate(document.forms[0],this)"  
                       
    size="6"  
               
    maxlength="6"  
                       
    value=""  
               
    name="data"  
               
    id="data"

    </
    form>

    function 
    validate(myformmyid){ 
         
        
    alert(myform); 
        
    alert(myid); 
       
    mydate=myid.value;

        if (
    mydate.length 6){ 
            
    alert('Insert six char'); 
            
    document.myform.id.value.focus(); 
            return 
    false
        }else{ 
            
    gg=mydate.substr(0,2); 
                   
    mm=mydate.substr(2,2); 
            
    yy=mydate.substr(4,2); 

      
            
    strnewdate=gg+"/"+mm+"/"+yy
         
            
    alert(strnewdate); 

    --> 
    COSA INSERIRE PER FAR TORNARE IL VALORE NELLA FORM <-- 
             
    myid.value strnewdate;
            return 
    true
        } 


  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50
    Grazie, provo a vi faccio sapere

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Io farei cosi, metterei tre input text separati da una barra poi con i css adatterei il tutto in modo che sembri un solo input:
    <div id="data"><input type="text" id="gg" name="gg" onfocus="if(this.value==defaultValue)this.value='' " onkeyup="if(this.value.length==2)document.getEleme ntById('mm').focus();" value="GG" />/><input type="text" id="mm" name="mm" onfocus="if(this.value==defaultValue)this.value='' " onkeyup="if(this.value.length==2)document.getEleme ntById('aa').focus();" value="MM" />/><input type="text" id="aa" name="aa" onfocus="if(this.value==defaultValue)this.value='' " value="AA" /></div>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50
    Grazie cavicchi, ma ho risolto gia' con il consiglio di google01

    Avrei bisogno di un'altra cosa, molto banale e non so se aprire o meno un altro 3D.

    Per il momento la scrivo qui.

    Se in una pagina html (ovvero .php) devo far scattare un popup di conferma dell'avvenuta operazione, come posso fare?

    Mi spiego meglio.

    Da php, con un bottone richiamo un Ajax che mi ricarica la stessa pagina, passando dei parametri, ed a seconda di quello che ho passato, faccio una operazione o un altra (nello stesso file php).
    Ora, se voglio far apparire, quando ho terminato l'operazione, una semplice popup con scritto "operazione terminata" (corredata con il "confirm") come devo fare?

    Immagino sia semplice, ma non ci riesco.

    Grazie e se necessario apro un altro 3D.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    A fine operazione php inserisci le istruzioni tipo:
    popup <script>open('pagina-tua.xxx','qui metti i parametri che vuoi')</script>
    confirm = <script>if(confirm('operazione eseguita')){'fai quello che vuoi al pressione del tasto ok'}else{'ops a cliccato annulla mo che faccio'}</script>

    P.S. in futuro apri una nuova discussione altrimenti è un casino, e rischi che nessuno ti legga

    P.S.S. Nella tua soluzione se scrivo 21/07/10 o 2172010 si incasina il tutto, le date sono sempre rognose inserisci + controlli o avari dati sballati.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50
    Originariamente inviato da cavicchiandrea
    A fine operazione php inserisci le istruzioni tipo:
    popup <script>open('pagina-tua.xxx','qui metti i parametri che vuoi')</script>
    confirm = <script>if(confirm('operazione eseguita')){'fai quello che vuoi al pressione del tasto ok'}else{'ops a cliccato annulla mo che faccio'}</script>

    P.S. in futuro apri una nuova discussione altrimenti è un casino, e rischi che nessuno ti legga

    P.S.S. Nella tua soluzione se scrivo 21/07/10 o 2172010 si incasina il tutto, le date sono sempre rognose inserisci + controlli o avari dati sballati.
    Grazie per entrambe le risposte.
    La prossima volta apro un nuovo 3D

    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.