Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    javascript: problema di funzionamento se ci sono troppi campi selezionati

    Io uso il codice riportato qui sotto che serve di verificare se è stato selezionato almeno un campo checkbox prima di procedere al form successivo, solo che se i campi sono tanti (es diverse decine) il javascript non mi funziona....come mai?

    Il codice è qui sotto

    codice:
    <script type='text/javascript'>
    <!--
    checkAll = true
    
    function selectAll() {
    	theForm = document.getElementById("deleteForm")
    
    	for (i = 1; i < theForm.elements.length; i++) {
    		theForm.elements[i].checked = checkAll
    	}
    
    	checkAll = (checkAll) ? false : true
    }
    
    
    
    function inviamess() {
    	theForm = document.getElementById("deleteForm")
    
    	someChecked = false
    	for (i = 1; i < theForm.elements.length; i++) {
    		if (theForm.elements[i].checked) {
    			someChecked = true
    
    			break
    		}
    	}
    
    	if (someChecked) {
    		if (confirm("Sei sicuro di voler inviare il messaggio ai contatti selezionati?")) theForm.submit()
    	}
    	else alert("Non hai selezionato nessun contatto.")
    }
    
    
    -->
    </script>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non dovrebbe essere quello il problema.

    Ma la prima funzione imposta il checked su tutti i campi, compresi quelli che non sono checkbox. Questo potrebbe dare problemi.

    Io modificherei cosi`:

    function selectAll() {
    theForm = document.getElementById("deleteForm")

    for (i = 1; i < theForm.elements.length; i++) {
    if(theForm.elements[i].type=='checkbox') theForm.elements[i].checked = checkAll
    }

    checkAll = (checkAll) ? false : true
    }


    Un altro problema potrebbe esserci se la funzione inviamess() viene chiamata da un bottone submit o dall'evento onsubmit del <form>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    La funzione viene chiamata da un semplice link ipertestuale.... l'ho cambiata come mi hai detto ma non funziona cmq....altri suggerimenti? intanto ti ringrazio :P

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` qualcosa che non mi torna.
    Qualche decina di campi non possono imballare il JS o il browser (a meno che non usi un processore molto limitato, ma lo imballeresti con molte pagine che ci sono in giro oggi).

    Che browser usi?
    Ci sono per caso nomi di campi uguali?
    O ci sono nomi uguali a parole riservate?

    Se la pagina e` pubblicata, puoi postare il link?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Senti il codice l'ho copiato da una webmail che appunto ti permette di cancellare i msg che hai in posta elettronica e quella webmail l'ho installata pure sulla mia macchina e funziona perfettamente, non si impalla neanche con 1000 messaggi selezionati contemporaneamente. Non posso postarti il link xchè la pagina è su un'area riservata ma posso postarti tutto il codice html che viene fuori (è un pò lungo sono 120 righe va bene lo stesso?) così vedi cosa c'è di sbagliato....

  6. #6
    ho capito il problema.....il form non aveva il method post ma il problema è che se uso il method post non mi passa alcune variabili come posso convogliare le 2 cose?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    120 righe sono un po' troppe (occorre guardarsele a mano, e non so chi potrebbe farlo).

    Ma fai con cura i controlli che ti avevo detto: ho visto ancora effetti simili nel caso di nomi uguali o di nomi uguali a parole riservate.

    Immagino che la pag. sia creata con un programma server side.
    Non potrebbe essere che i nomi vengono dati con due sole cifre? Allora dopo 100 righe ci sarebbero delle omonimie.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Jimmy Gomma
    ho capito il problema.....il form non aveva il method post ma il problema è che se uso il method post non mi passa alcune variabili come posso convogliare le 2 cose?
    Be`, il get ha un limite di caratteri che trasmette.
    Ma non ci sono motivi per non poter usare il post.
    Che variabili non ti passa?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    il foreach del php nn mi funziona con metodo post del form....come posso fare?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non conosco PHP (io ho lavorato con CGI Perl), ma mi pare un'affermazione azzardata.

    Intanto dovresti chiarire se ti riferisci alla pagina che viene creata dal PHP, o dalla lettura del form da parte del PHP (il foreach si puo` usare in ambedue i casi).

    NOTA: il modo di leggere i campi di un form e` diverso se il form trasmette in modo get o in modo post. Dovresti forse approfondire questo aspetto.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.