Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    ciclare i controlli su campi creati dinamicamente

    ciao a tutti , mi trovo ad affrontare questo problema :

    ho un form che invia n dati ad una pagina che eseguira e calcolerà il tutto .
    Questa tabella viene creata più volte (ciò dipende dal dato inserito precedentemente dallutente).
    codice:
        $conta = $_GET['count'];
    echo "<form action=\"invio.php?id_user=$idus&contins=$conta\" name=\"invio_formconta\" method=\"post\" onSubmit=\"return inviofat(this)\">";
                    echo "<input type=\"hidden\" name=\"tipopage\" value=\"contiamo\" />
                          <input type=\"hidden\" name=\"conteggiojs\" value=\"$conta\" />";
    for ($i = 1 ; $i <= $conta ; $i++) {
                        echo "<table>
    			<tr>
    			<td colspan=\"2\">tabella num $i per inserimento contabili</td>
    			</tr>
    			<tr>
    			<td>numero fattura</td>
    			<td><input type=\"text\" name=\"numerof[$i]\" value=\"\" /></td><td>$errorenumfattura</td>
    			</tr>
    			<tr>
    			<td>data fattura</td>
    			<td><input type=\"text\" name=\"dataf[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td>data scadenza</td>
    			<td><input type=\"text\" name=\"datas[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td>importo fattura+iva</td>
    			<td><input type=\"text\" name=\"imp[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td>acconti ricevuti</td>
    			<td><input type=\"text\" name=\"acc[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td>residuo fattura</td>
    			<td><input type=\"text\" name=\"resi[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td>numero nota credito</td>
    			<td><input type=\"text\" name=\"numeronota[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td>data nota credito</td>
    			<td><input type=\"text\" name=\"datanota[$i]\" value=\"\" /></td>
    			</tr>
    			<tr>
    			<td><input type=\"reset\" name=\"reset[$i]\" value=\"RESETTA VALORI\" /></td>
    			</tr>
    		</table>";
     }
                    echo"
                    <input type=\"submit\" name=\"inviaco\" value=\"INVIA\" />
                    </form>
    ovviamente io vorrei inserire dei controlli per ogni tabella creata ...
    la linea rossa sopra mi porta alle funzioni javascript esterne.

    io in javascript per richiamare n tabelle ho passato alla funzione il valore di conta e poi ho creato le singole funzioni ciclando conta . per maggio chiarezza :
    codice:
    function inviofat(var cont){
    //ciclo tutto :
    for (var i = 0  ; i < cont ; i++){
    //carico le variabili con indice i
    var num[i] = document.[nome form].numerof[i].value;
    if (num[i] == ""){
    alert ("campo obbligatorio");
    document.invio.numerof[i].focus();
    return false;
    }
    //seguo con gli alti controlli piu o meno con questo schema ed espressioni regolari
    }
    
    }
    però cosi facendo non funziona ...
    qualcuno mi potrebbe dare una mano a capire ?
    ciao!

  2. #2
    Ciao,
    il codice allegato alla pagina è tagliato, non si legge la fine della dichiarazione del form.

    Potresti fare così:
    quando l'utente preme invia far partire una funzione di controllo in javascript che restituisce true
    se tutto è ok oppure false per non inviare il form:

    Codice PHP:
    <script type="text/javascript">
    function 
    valida(form){

      if(){
        return 
    true;
      }else{
        .......... 
        return 
    false;
      }

    }
    </script>

    <form metod="..." target="...." onsubmit="return valida(this);">
    ..................
    </form> 
    In questo modo puoi accedere direttamente agli elementi del form:
    Codice PHP:
        form.nomecampo.value = .... ; 
    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

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.