Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema submit form

  1. #1
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629

    Problema submit form

    Ciao a tutti come da titolo ho un problema di submit di un form all'interno della mia pagina...posto un po' di codice così da capirci meglio...

    La parte di codice incriminata, che contiene il form con la chiamata javascript, alla funzione prosegui(), per il submit.
    Codice PHP:
    ...

    <form name="frmmdfgrp" action="functionrbr.php" method="post">
                                    <input type="hidden" name="sceltamdfgrp" id="valoreselect">
                                    <table class="servizio">
                                        <tr>
                                            <td align='center'>
                                                [img]../images/bottoni/conferma.png[/img]


                                            </td>
                                        </tr>
                                        <?php
                                            $strsql
    ="Select id_anagrafica,nome,cognome from anagrafica where socio_al<=".date("Y-m-d")." or socio_al='0000-00-00'
                                                        order by cognome,nome"
    ;
                                            
    $ris=mysql_query($strsql);
                                            if(
    $ris){
                                                
    $i=0;
                                                
    $riga=mysql_fetch_array($ris);
                                                if(
    $riga){
                                                    while(
    $riga){
                                                        echo 
    "<tr>
                                                                <td>
                                                                    <input type='checkbox' name='chk
    $i' id='chk_$i' value='_".$riga["id_anagrafica"]."'>".$riga["cognome"]." ".$riga["nome"]."
                                                                </td>
                                                            </tr>"
    ;
                                                        
    $i++;
                                                        
    $riga=mysql_fetch_array($ris);
                                                    }
                                                    echo 
    "<input type='hidden' id='numvol' name='numvol' value='$i'>
                                                            <input type='hidden' name='mdfgrp' id='mdfgrp' value='0'>"
    ;
                                                }
                                            }
                                        
    ?>
                                    </table>
                                </form>
    ...
    E qui la relativa funziona prosegui() di JavaScript

    codice:
    function prosegui(x){
    	var colore='#FF0034';
    	if(x==1){ //Aggiungi Gruppo
    		if(document.frmaddgrp.nameadd.value==""){
    			document.frmaddgrp.nameadd.style.backgroundColor=colore;
    			alert("ATTENZIONE! Controllare di aver inserito correttamente i campi!");
    		}
    		else document.frmaddgrp.submit();
    	}
    	if(x==2){ //Visualizza nomi per modifica gruppo
    		el1=document.getElementById('slcgruppi');
    		el2=document.getElementById('divgrp_'+el1.value);
    		el2.style.display="none";
    		el1=document.getElementById('divmod');
    		el1.style.display="block";
    		el2=document.getElementById('valoreselect');
    		el1=document.getElementById('mdf');
    		el2.value=el1.value;
    	}
    	if(x==3){ //Attua modifiche gruppo
    		el1=document.getElementById('numvol');
    		checkati=0;
    		for(i=0;i<el1.value;i++){
    			el2=document.getElementById('chk_'+i);
    			if(el2.checked == true) checkati++;
    		}
    		if(checkati==0) alert("Devi scegliere almeno un nominativo da inserire nel gruppo!");
    		else{
    			el1=document.getElementById('mdfgrp');
    			el1.value="1";
    			document.frmmdfgrp.submit();
    		}
    	}
    }

    Come si vede nel javascript, utilizzo già un altro submit su un'altra form, e tutto funziona bene. Quando invece cerco di fare il submit con questa form mi dice "Proprietà o metodo non supportato dall'oggetto" quando si vede chiaramente che quella è una normalissima form...cosa può essere successo?
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    Posta il sorgente del form al momento in cui x==3 e checkdati != 0 , copiandolo da firebug.

  3. #3
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Il sorgente sembra sempre lo stesso...come errore di console mi dice

    document.frmmdfgrp.submit is not a function
    document.frmmdfgrp.submit();

    questo è il codice...

    Codice PHP:
    <form method="post" action="functionrbr.php" name="frmmdfgrp">
    <
    input id="valoreselect" type="hidden" name="sceltamdfgrp" value="6">
    <
    table class="servizio">
    <
    tbody>
    <
    tr>
    <
    td align="center">
    [
    img]../images/bottoni/conferma.png[/img]




    </
    td>
    </
    tr>
    ......
    <
    tr>
    .....
    <
    tr>
    .....
    <
    input id="numvol" type="hidden" value="149" name="numvol">
    <
    input id="mdfgrp" type="hidden" value="1" name="mdfgrp">
    </
    tbody>
    </
    table>
    </
    form

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non avendo il sorgente completo del tuo form(visti i puntini di sospensione) l'ho provato commentando la parte che controlla i checkbox e il form fa il submit normalmente, quindi il mio consiglio se vuoi farti dare una mano è quello di postare il form completo checkbox compresi, se vuoi sistemarlo da te molto probabilmente il problema è nel for

    codice:
    checkati=2;
    for(i=0;i<el1.value;i++){
        //el2=document.getElementById('chk_'+i);
        //if(el2.checked == true) checkati++;
    }
    if(checkati==0) alert("Devi scegliere almeno un nominativo da inserire nel gruppo!");
    else{
       el1=document.getElementById('mdfgrp');
       el1.value="1";
       document.frmmdfgrp.submit();
    }

    Come vedi ho commentato le 2 istruzioni e per provare il submit ho forzato il valore di checkati diverso da zero e il submit avviene senza errori.

    Per la cronaca ho provato solo su firefox.

  5. #5
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ho risolto così...
    codice:
    ...
    			el1=document.getElementById('frmmdfgrp');
    			el1.submit();
    ...
    Funziona perfettamente...non capisco il motivo del perchè non avrebbe dovuto funzionare prima...

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