Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    modificare valore checkbox

    Salve...

    vorrei modificare il valore di checkboxes in un array ed ho provato con la seguente funzione:


    function modifica_valore(id) {
    if (document.forms.form1.ad[+id+][editor].checked == true)
    {
    document.forms.form1.ad[+id+][editor].value = "Y";
    }
    else {
    document.forms.form1.ad[+id+][editor].value = "N";
    }
    }


    la funzione la richiamo con

    .....type="checkbox" value="Y" onchange="controllo_valore(4);" ......

    Il debugger mi dice che manca un oggetto.

    Non ho grandi conoscenze in JS. :-(

    Qulacuno potrebbe suggerirmi dove sbaglio ?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    spiega meglio com' e' fatto l' xhtml
    non e' chiaro quel e' il nome del checkbox

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    grazie per la risposta... :-)


    <input name="ad[10][editor]" type="checkbox" value="Y" onchange="controllo_valore(10);">

    oppure

    <input name="ad[11][editor]" type="checkbox" value="Y" onchange="controllo_valore(11);">

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ok, quelli che tu consideri in array per via del nome in realta' non lo sono per javascript

    due checkbox con name ad[10][editor] genererebbero un array

    per la nomenclatura scelta non potresti farvi riferimento con
    document.nomeForm.nomeElemento[indiceArray]

    document.form1.ad[10][editor] = sembra un array, ma editor non e' una variabile javascript, quindi si genererebbe sicuramente un errore

    devi usare elements per concatenare un nome esistente
    document.form1.elements['ad['+id+'][editor]']
    in maniera da non considerare quanto contenuto in quelle quadre come indici di array ma semplice stringa

    ciao

    p.s. non serve forms.form1, basta document.form1

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    grazie.... :-)


    quando clicco sulla checkbox il debugger mi segnala che manca un oggetto


    la funzione:

    function modifica_valore(id) {
    if (document.forms.form1.ad[+id+][editor].checked == true)
    {
    document.form1.elements['ad['+id+'][editor]'].value = "Y";
    }
    else {
    document.form1.elements['ad['+id+'][editor]'].value = "N";
    }


    la checkbox:

    <input name="ad[24][editor]" checked type="checkbox" value="Y" onchange="modifica_valore(24);">

    Manca qualcosa nella funzione o la richiamo in maniera errata ?

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    sorry, questa è la funzione modificata....

    function modifica_valore(id) {
    if (document.form1.elements['ad['+id+'][editor]'].checked == true)
    {
    document.form1.elements['ad['+id+'][editor]'].value = "Y";
    }
    else {
    document.form1.elements['ad['+id+'][editor]'].value = "N";
    }
    }

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sicuro di avere un unico elemento con name="ad[24][editor]"?

    ma poi, la funzione fa altro? i checkbox al click cambiano solo il proprio valore?
    se si', senza impazzire risalendo al nome corretto
    codice:
    <input name="ad[24][editor]" checked type="checkbox" value="Y" onchange="modifica_valore(this);">
    
    function modifica_valore(el) {
    if (el.checked == true) el.value = "Y";
    else el.value = "N";
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie...

    non dà + nesun errore, ma non mi cambia il valore......


  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Gli elementi sono multipli, in quanto vengono generati dinamicamente da DB......

  10. #10
    Originariamente inviato da epescol
    Grazie...

    non dà + nesun errore, ma non mi cambia il valore......

    scusa se mi intrometto ... ma un checkbox è un booleano e tu vorresti replicarlo con un altro booleano tipo "Y" o "N" ... a cosa serve?

    se c'è un checkbox non devo leggere Y o N ... vedo se c'è la spunta e a quel punto, solo se presente, verrà inviata al server
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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 © 2026 vBulletin Solutions, Inc. All rights reserved.