Ciao a tutti.

Premesso che sono alle prime armi con JavaScript,

sto cercando di scrivere uno script che prenda i dati dai campi di un form e, se almeno uno di essi ha scritto qualcosa dentro, lo invia a un altra pagina con un altro form.

il problema è che secondo lui è corretto,

infatti per lui non sono ="" ma addirittura undefined, come si evince dall'alert che ho messo all'inizio

grazie


ecco il codice
codice:
...
		<script type="text/javascript">
			function ControlloFiltri()
			{				
				
				alert (frmFilter.QtyMax.Value)
				
				var corretto = 0
				
				if (frmFilter.DataMin.Value == "")
					corretto = 1;
					
				if (frmFilter.DataMax.Value != "")
					corretto = 1;
				
				if (frmFilter.QtyMin.Value != "")
					corretto = 1;
					
				if (frmFilter.QtyMax.Value != "")
					corretto = 1;
					
				if (frmFilter.QtyMax.Value != "")
					corretto = 1;
				
				if (corretto==1){
					var str = ""
					
					if (DataMin != "")
						str = str + "'DataMin':'" + frmFilter.DataMin.Value + "',";
						
					if (DataMax != "")
						str = str + "'DataMax':'" + frmFilter.DataMax.Value + "',";
						
					if (QtyMin != "")
						str = str + "'QtyMin':'" + frmFilter.QtyMin.Value + "',";
						
					if (QtyMax != "")
						str = str + "'QtyMax':'" + frmFilter.QtyMax.Value + "',";
						
					if (Cliente != "")
						str = str + "'Cliente':'" + frmFilter.Cliente.Value + "',";
						
					str = "{" + str + "}"
					
					InviaFiltro(str)
					}
				else
					document.frmFilter.Errori.Value = "Inserire correttamente i dati";
			}
			
		function InviaFiltro(params) 
		{
			var form = document.createElement("form");
			form.setAttribute("method", "post");
			form.setAttribute("action", "index.asp?act=filter.done");
			for(var key in params) {
				var hiddenField = document.createElement("input");
				hiddenField.setAttribute("type", "hidden");
				hiddenField.setAttribute("name", key);
				hiddenField.setAttribute("value", params[key]);
				form.appendChild(hiddenField);
			}
			document.body.appendChild(form);
			form.submit();
			
			return(0)
		}
</script>

...
	
<form name="frmFilter" method="post" action="index.asp?act=filter.done">
  <table>
	<tr>
	    <td>Data emissione tra</td>
	    <td><input type="text" name="DataMin" size="20"></td>
	    <td align="center">e</td>
	    <td><input type="text" name="DataMax" size="20"></td>
	    <td rowspan="3">
		<textarea name="Errori" rows="3" cols="12" readonly=true WRAP="virtual"> 
		</textarea>
	    </td>
	 </tr>
	 <tr>
	    <td>Cliente</td>
	    <td>
		<select name="Cliente">
		     <option selected="selected" value="">Scegli</option>
		     <%
			rs.Open "Select TbClienti.Denominazione, TbClienti.ID FROM TbClienti ORDER BY Denominazione", cn, 1
			Do Until rs.EOF
			%>
		               <option value="<%=rs("ID")%>"><%=rs("Denominazione")%></option>
			<%
				rs.MoveNext
			Loop
			rs.Close
			%>
		</select>
	   </td>
	</tr>
	<tr>
		<td>Quantita tra</td>
		<td><input type="text" name="QtyMin" size="20"></td>
		<td align="center">e</td>
		<td><input type="text" name="QtyMax" size="20"></td>
	</tr>
	<tr>
		<td colspan="4" align="center">
			<input type="button" value="Filtra" onclick="ControlloFiltri()">
		</td>
	</tr>
   </table>
</form>

...