Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63

    script per checkbox in Servelet

    Nella mia servlet,ho una form fatta in questo modo
    codice:
    out.println("<form onsubmit=\"return checkrequired()\" name=niente   action=\"diprova\" method=\"POST\" >");
    out.println("<input type=hidden value='"+nome+"' name=nome> ");
    out.println("<input type=\"checkbox\" name=\"intestazione\" value='"+k+"'  >");
    out.println("</form>)
    dove l'input
    codice:
    out.println("<input type=\"checkbox\" name=\"intestazione\" value='"+k+"'  >");
    sono tantissimi. E varia solo il k. Il k assume valori partendo da 1, incrementando di 1 per i successivi input.


    Quello che cerco, è uno script che mi faccia un controllo sui checkbox. In particolare, se non ho selezionato nessuna checkbox mi faccia un alert, altrimenti se ho selezionato almeno 1 check mi faccia continuare e quindi mi sposto nella servlet diprova(il nome della servlet)

    Come script ho messo questo
    codice:
    out.println("<script language=\"JavaScript\" type=\"text/javascript\">
    function checkrequired() {
    var conta=0;   
    if (document.niente.quale.checked){
    conta++; 
    if (conta==0){ 
    alert(\"devi selezionare almeno 1 colonna\") } 
    else return true;} 
    alert(\"devi selezionare almeno 1 colonna\") }");
    ma non funziona. come fare per farlo funzionare?!

  2. #2
    a parte che non mi sembra un problema di java ma di javascript e quindi la sezione è errata, se quello che devi fare è controllare tutti i checkbox per vedere se sono selezionati o no devi fare un for che cicla su tutti gli input. Però con il codice che hai postato tu crei tanti input con valori diversi ma che hanno lo stesso nome. ti suggerirei di mettere un id del tipo nomeCampo_k dove k è la variabile del tuo ciclo in modo da avere nomeCampo_1, nomeCampo_2, nomeCampo_3... e di poter ciclare su quelli per fare il controllo che ti serve. poi non sono nemmeno sicuro che funzioni "document.niente.quale.checked". di solito si usa document.getElementById(componentId). Però su questo nn mi sbilancio perchè non è proprio il mio campo


    edit: ho provato a buttar giù qualcosa, prova a vedere se funziona (non ho potuto testarlo)

    codice:
    function checkrequired() {
    	var length = document.getElementById('NomeForm').elements.length;
    	for(var i=0; i<lenght; i++){
    		if(document.getElementById('intestazione_'+i).checked){
    			return true;
    		}
    	}
    	alert("devi selezionare almeno 1 colonna");
                  return false;
    }
    dove NomeForm è l'id del form e 'intestazione_'+i sono gli id degli input

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.