Newsgroup: it.comp.lang.javascript
Titolo: [ parametri metodo GET ] problemi di lettura

Ciao a tutti!
E' la prima volta che scrivo su questo news-group e mi scuso se per caso
faccio una richiesta banale.
Sto implementando una pagina per l'upload di alcuni pdf e devo, scelto il
numero di pdf in una combo rigenerare la pagina con il numero richiesto di
caselle (type=file) per la selezione del file.
Ho pensato a questo codice ma presenta questo buco:
- appena aperta la pagina non crea la casella "file" (la combo ha valore
  1)
Avete idea del perchè?
Vi allego il file dato che non è molto lungo.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd
">
<html>
<head>
  <title>news_upload</title>
  <meta name="GENERATOR" content="Quanta Plus">
</head>
<body>
<script type="text/javascript">
function RefreshPage()
{
	window.open('?numeroPDF='+ document.upload_event.cmbPdf.value,'_self'); 
}
function scriviPDFarea()
{
	// separo i parametri e creo le n-caselle di testo per l'upload
	var numeroPDF = leggiGET();
	for (var i=1; i<=numeroPDF;i++)
	{
		var txtFileName = "txtFile"+i;
		document.writeln("<input type='file' name='"+txtFileName+"' /><br>");
	}
}
function scriviComboArea()
{
	var numeroPDF =leggiGET(); 
 
	for (var i=1; i<=6;i++)
	{
		document.writeln("<option value='"+i+"' ");
		if (i == numeroPDF)
		{
			document.writeln("selected='true'");
		}
		document.writeln(">"+i+"</option>");
	}
}
 
function leggiGET()
{
	var numeroRTN;
	var numeroPDF = location.search;
 
	numeroPDF = numeroPDF.split("=");
	numeroRTN = parseInt(numeroPDF[1]);
	if (numeroRTN == null) { 
		numeroRTN= 1; 
	}
 
	return numeroRTN;
}
</script>
<form name="upload_event" action="upload_event.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<table width="500" border="0">
    <tr>
      <td width="200" valign="top">Evento da caricare</td>
      <td width="*" valign="top"><input type="file" name="txtFile" /></td>
    </tr> 
    <tr>
      <td width="200" valign="top">Quanti pdf desideri caricare?</td>
      <td width="*" valign="top">
		<select name="cmbPdf" onchange="javascript:RefreshPage();">
		<script language="JavaScript1.2" type="text/javascript">
			scriviComboArea();
		</script>
		</select>      
    </td>
    <tr>      
      <td width="200" valign="top">Pdf da caricare</td>      
      <td width="*" valign="top">
		<script type="text/javascript" language="JavaScript1.2">
			scriviPDFarea();
		</script>
 	</td>      
    </tr>    
    <tr>
      <td width="200" valign="top"></td>
      <td width="*" valign="top">
      	<br />
      	<input type="submit" name="ok" value="Carica evento" />&nbsp;&nbsp;&nbsp;
	<input type="reset" name="pulisci" value="Pulisci" />
	</td>
    </tr>    
</table>
</form>
</body>
</html>
-- 
[ Got Linux? No? Get Fedora Core 2! ]
 ~ 
http://www.lasteden.it
 ~ ICQ: 61670579
 ~ Coltiva Linux che tanto Windows si pianta da solo

 	numeroPDF = numeroPDF.split("="); 
Qua sta il problema: all'apertura della pagina non hai parametri passati,
mentre in tutta questa function si dà per scontato che ci sia...
Potresti chiamare la pagina con parametro=1, per esempio (ma come soluzione
fa un po' schifo); oppure semplicemente devi verificare la querystring, per
esempio if(numeroPDF.length<=1) numeroRTN=1 o simile
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 esempio if(numeroPDF.length<=1) numeroRTN=1 o simile
grazie!
comunque ho risolto testando con isNaN dato che length non funzionava
function leggiGET()
{
	var numeroRTN;
	var numeroPDF = location.search;
 
	numeroPDF = numeroPDF.split("=");
	numeroRTN = parseInt(numeroPDF[1]);
	if (isNaN(numeroRTN)) { 
		numeroRTN= 1;
	}
 
	return numeroRTN;
