Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Campo hidden=true???

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220

    Campo hidden=true???

    Ciao a tutti, ho un form, con un campo hidden il quale value proviene da una pagina latoserver...
    Quando effettuo il submit mi accorgo che questo campo non "passa" forse perchè non è ritenuto "true"... Ho pensato che si poteva fare qualcosa del genere
    Vai

    Ma non so cosa sostituire al "checked=true" che serve per i radio button... a quanto so io non per i campi hidden...

    Vi ringrazio in anticipo!
    Ciao!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non passano valori i campi senza nome, disabilitati o checkbox/radio non segnati,
    tutto il resto passa,
    posta l' output del browser

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Il problema è che siccome questo è in una pagina php, il campo hidden ha come value $dati cioè a,b,c,d,ecc...
    perciò quando si esegue la pagina php la var $dati esplode ed ho tanti campi con lo stesso nome a,b,c,d,ecc...
    Ora solo il campo che scelgo deve passare...
    Adesso ho fatto una prova per l'appunto con i campi hidden ma in $dati mi passa tutte le value (a,b,c,d,ecc...), invece facendo la prova con un radio mi accorgo che quando lo checkko mi passa solo il valore che ho selezionato (ad esempio a).
    Perciò avevo bisogno di fare un sistema in grado di inviare il form cliccando sul dato "a" per esempio, senza usare i radio che sono antiestetici...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non sono certo di aver capito neanche questa volta,
    se il valore dell' hidden all' inizio è "a,b,c,d,ecc"
    e ti serve che all' invio da link venga sostituito da un altro valore
    codice:
    valore d

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Ti ringrazio innanzitutto per il tuo prezioso aiuto!
    Io ho tentato di spiegarmi... ma sicuramente l'ho fatto male!
    Questo è il codice della pagina dove ho problemi, intorno alla riga 34...
    Come ho detto nel post precedente con l'input di tipo radio funziona... a me serve che funzioni senza radio, ma con un hidden.. in modo che il submit del form avvenga direttamente cliccando sulla data.
    Ecco il codice della pagina (calendar.php3):
    Codice PHP:
    <html>
    <
    head>
    <
    title>Untitled Document</title>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <
    script Language="JavaScript">

    function 
    Calendar_GetString()
    {
        var 
    firstDate = new Date(this.year,this.month,1);
        var 
    firstDay firstDate.getDay();
        var 
    monthArg this.month 1;
        var 
    calStr "<form method=POST name="+Calendar.monthName[this.month].toUpperCase()+" action=calendar.php3><input type=hidden name=chiave value=teschio><TABLE BORDER=1 COLS=7>";
        
    calStr += "<TR>";
        
    calStr += "<TD COLSPAN=7 ALIGN=center><SPAN class=caldefault><font size=2>"+Calendar.monthName[this.month].toUpperCase()+" "+this.year+"</font></SPAN></TD><input type=hidden name=mese value="+monthArg+"><input type=hidden name=anno value="+this.year+">";
        
    calStr += "</TR>";
        
    calStr += "<TR>";

        for (var 
    i=0;i<Calendar.dayName.length;i++) 
            
    calStr += "<TD ALIGN=center><SPAN class=caldefault><font size=2>"+Calendar.dayName[i]+"</font></SPAN></TD>";
        
    calStr += "</TR>";

        var 
    dayCount 1;
        
    calStr += "<TR>";
        for (var 
    i=0;i<firstDay;i++) 
            
    calStr += "<TD> </TD>";


        for (var 
    i=0;i<this.monthDays[this.month];i++)
        {
            var 
    styleStr "calday";
            if (
    dayCount==this.date)
                
    styleStr "caltoday";
                
            
    calStr += '<TD ALIGN="center"><input type=radio name=giorno value='+
                        
    dayCount+' onClick="document.'+Calendar.monthName[this.month].toUpperCase()+'.submit();">'+
                        
    '<SPAN class="'+styleStr+'"><font size=2>'+
                        
    dayCount+'</font></SPAN></A></FONT></TD>';
            
    dayCount++;
            if ((
    i+firstDay+1)%7==0&&(dayCount<this.monthDays[this.month]+1)) 
                
    calStr += "</TR><TR>";
        }

        var 
    totCells firstDay+this.monthDays[this.month];
        for (var 
    i=0;i<(totCells>28?(totCells>35?42:35):28)-totCells;i++) 
            
    calStr += "<TD> </TD>"
        
    calStr += "</TR>";
        
    calStr += "</TABLE></form>";
        return 
    calStr;
    }



    function 
    Calendar_Show()
    {
        var 
    calStr this.GetString();
        
    document.write(calStr);
    }

    function 
    Calendar(date,month,year,action)
    {
        
    // Properties
        
    this.date date;
        
    this.month month;
        
    this.year year;
        
    this.action action;
        
    this.monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

        
    // Leap year test
        
    if ((this.year%4==0||this.year%100==0)&&(this.year%400==0)) 
            
    this.monthDays[1] = 29
        else 
            
    this.monthDays[1] = 28;
            
        
    // Methods
        
    this.Show Calendar_Show;
        
    this.GetString Calendar_GetString;
    }

    Calendar.dayName = new Array("Dom","Lun","Mar","Mer","Gio","Ven","Sab");
    Calendar.monthName = new Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");


    function 
    CalendarSet_Show()
    {    
        var 
    border '';
        
    document.write('<table border="0" cellpadding="0" cellspacing="0"><tr>');

        
    // Show the top border
        
    for (var i=0;i<this.calendars.length+2;i++)
        {
            
    document.write(border);
        }
        
    document.write('</tr><tr>');

        
    document.write(border);
        for (var 
    i=0;i<this.calendars.length;i++)
        {
            
    document.write('<td>');
            
    this.calendars[i].Show();
            
    document.write('</td>');
        }
        
    document.write(border);
        
    document.write('</tr><tr>');
        
        
    // Show the bottom border
        
    for (var i=0;i<this.calendars.length+2;i++)
        {
            
    document.write(border);
        }
        
    document.write('</tr></table>');
    }


    function 
    CalendarSet_SetMonthOptions(selectField)
    {
        var 
    selected true;
        
    selectField.options.length 0// Clear the popup
        
        
    for (var i=0;i<this.calendars.length;i++)
        {
            var 
    anOption = new Option(Calendar.monthName[this.calendars[i].month]+" "+this.calendars[i].year,(this.calendars[i].month+1)+","+this.calendars[i].year,selected,selected);
            
    selectField.options[i] = anOption;
        
            
    selected false;
        }
        
    selectField.options[0].selected true;
    }

    function 
    CalendarSet_SetDateOptions(monthSelectField,dateSelectField)
    {
        var 
    calObject this.calendars[monthSelectField.selectedIndex];
        var 
    daysInMonth calObject.monthDays[calObject.month];
        
        if (
    dateSelectField.options.length==0)
        {
            var 
    anOption = new Option("Date",0,true,true);
            
    dateSelectField.options[0] = anOption;    
        }
        
        if (
    dateSelectField.options.length daysInMonth+1)
        {
            
    // Remove last entries
            
    var excess dateSelectField.options.length daysInMonth 1;
            for (var 
    i=0;i<excess;i++)
            {
                
    dateSelectField.options[dateSelectField.length-1] = null;
            }
        }
        else if (
    dateSelectField.options.length daysInMonth+1)
        {
            
    // Add entries
            
    var deficit daysInMonth dateSelectField.options.length 1;
            for (var 
    i=0;i<deficit;i++)
            {
                var 
    anOption = new Option(dateSelectField.options.length,dateSelectField.options.length,false,false);
                
    dateSelectField.options[dateSelectField.options.length] = anOption;
            }
        }
        

        var 
    now = new Date();
        
    dateSelectField.options[now.getDate()].selected true;
    }

    function 
    CalendarSet(startDate,months,action)
    {

        
    this.borderColor "#42316B";
        
    this.calendars = new Array();

        var 
    now = new Date();
        var 
    month=startDate.getMonth();
        var 
    year startDate.getFullYear();
        
        for (var 
    i=0;i<months;i++)
        {
            var 
    dayToHilite 0;
            if ((
    now.getFullYear()==year)&&(now.getMonth()==month))
                
    dayToHilite now.getDate();
            
    this.calendars[i] = new Calendar(dayToHilite,month,year,action);
            
    month++;
            if (
    month>=12)
            {
                
    month 0;
                
    year++;
            }
        }


        
    this.Show CalendarSet_Show;
        
    this.SetMonthOptions CalendarSet_SetMonthOptions;
        
    this.SetDateOptions CalendarSet_SetDateOptions;
    }

    </script>
      
    </head>

    <body bgcolor="#FFFFFF" text="#000000" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">

    <script Language="JavaScript">

    function HandleCalClick(day,mon,year)
    {
        
            document.write('" + mon + "/" + day + "/" + year');
    }


    var gImageDir = "images/"


    var now=new Date();
    var gCalendarSet = new CalendarSet(now,1,"HandleCalClick");

    gCalendarSet.Show();

    </script>
    </body>
    </html> 

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Nessuna idea?
    Almeno ditemi se si può fare..
    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.