Salve a tutti.
Ho guardato tutte soluzioni che ci sono nel forum ma non funzionano con il mio codice.


codice:
<?php 
	include_once("res/php_script/funzioni.php");
?>
<script language="javascript" src="res/js_script/jquery-1.4.2.min.js" type="text/javascript"></script>
<script language="javascript" src="res/js_script/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
	function aggiungiArticolo(){
		var y = document.getElementById("tab_articoli");
		var x = y.insertRow(-1);//per inserire la nuova riga all'ultima posizione
		var row_no = x.rowIndex;
			var i = 0;
			var a = x.insertCell(i);
			a.innerHTML = '<input type="text" id="codice'+row_no+'" name="articolo[]" size=4/>';
			var b = x.insertCell(++i);
			b.innerHTML = 'segli articolo<input type="text" id="nome'+row_no+'" name="nome[]" size="20"/>';
			var d = x.insertCell(++i);
			d.innerHTML = '<input type="text" id="prezzo_unitario'+row_no+'" value=0 size=10 name="prezzo_unitario[]"/>';
			var e = x.insertCell(++i);
			e.innerHTML = '<input type="text" id="qta'+row_no+'" name="qta[]" value="1" size=5 onblur="calcTotArt('+row_no+')"/>';
			var f = x.insertCell(++i);
			f.innerHTML = '<input type="text" id="prezzo_complessivo'+row_no+'" name="prezzo_complessivo[]" size=10/>';
			var g = x.insertCell(++i);
			g.innerHTML = '<input type="text" id="sconto'+row_no+'" name="sconto[]" size=3/>';
			var h = x.insertCell(++i);
			h.innerHTML = '<select id="iva'+row_no+'" name="iva[]"><option value="20">20%</option><option value="10">10%</option><option value="4">4%</option></select>';
			var i = x.insertCell(++i);
			i.innerHTML = '[img]res/img/design/elimina.jpg[/img]';
	}
	
	function pickListArticoli(row_no){
		window.open('moduli/preventivi/popup_prodotti.php?curr_row='+row_no,'Scegli articolo','width=300,height=400,scrollbars=yes');	
	}
	function calcTotArt(row){
		var total = document.getElementById("prezzo_complessivo"+row);
		var prezzo_unitario = parseFloat(document.getElementById("prezzo_unitario"+row).value);
		var qta = parseFloat(document.getElementById("qta"+row).value);
		//alert("prezzo u. "+prezzo_unitario+" qta. :"+qta);
		tot = qta * prezzo_unitario;
		total.value = tot;
	}
	function rimuoviArticolo(row_no){
		var tabella = document.getElementById("tab_articoli");
		tabella.deleteRow(row_no);
	}
        
function ckInput(campo){
  $('input[id^="codice"]').each(function (i,el) {
      if(el.value == campo.value && el.id != campo.id && el.value != ""){
          alert("valori dupplicati non ammessi");
          return false;
      }
              });
              return true;
}
function doppioni(){
  $('input[id^="codice"]').each(function (i,el) {
      if(!ckInput(el)){return false;}
  });
  return true;
}
</script>
<div id="int_blu"></div>
<?php
 $anno = date('Y');
 $max_n = gest_query_select("MAX(n) as ultimo","documento_vendita","tipo_tupla = '0' and anno = '".$anno."'");
if ($max_n){
	$res = mysql_fetch_assoc($max_n);
	$n = $res['ultimo']+1;
}else{
	$n = 1;	 
}
?>
<div id="contenuto">
<form action="moduli/preventivi/azioni.php" method="post" id="frm_nuovo_prev"  onSubmit="doppioni()">
<fieldset>
	<legend>Dati preventivo</legend>
	<label>Numero</label><input type="text" name="num" size="8" value="<?php echo $n;?> "/> <input type="text" size="4" name="anno" value="<?php echo $anno;?> "/>
	<label>Data preventivo</label><input id="data" type="text" name="data" value=""/><input type="hidden" id="data_prev" name="data_prev" />

</fieldset>
<fieldset>
	<legend>Dati cliente</legend>
    <label>Codice</label><input type="text" id="cod_cliente" name="cod_cliente" >

    <label>Cliente</label><textarea name="dati_cliente" cols="25" rows="4" disabled="disabled" id="dati_cliente"></textarea>
    Inserisci cliente
</fieldset>

<fieldset>
	<legend>Articoli in preventivo</legend>
    <input type="button" value="agg. articolo" onclick="javascript:aggiungiArticolo()"/>
    <table width="800" id="tab_articoli">
    	<thead>
        	<th>cod.</th> <th>Articolo</th> <th>Prezzo unitario</th> <th>Qt&agrave;</th> <th>Prezzo compl.</th> <th>sconto</th> <th>IVA</th> <th>Azioni</th>
    	</thead>
    </table>
    <input type="button" value="agg. articolo" onclick="javascript:aggiungiArticolo()"/>
</fieldset>
<input type="submit" name="azione" value="Crea preventivo" onclick="return doppioni();"/>
</form>
</div>
gli alert funzionato, ma me ne mostra sempre più di uno, e poi i dati vengono inviati comunque alla pagina php di elaborazione.

Sapete dirmi dov'è che ho sbagliato??

grazie mille per ogni vostro suggerimento