Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    problema firefox-innerHTML-input text

    Buongiorno!
    Io ho una pagina contenente una textbox. Nel momento stesso in cui io inserisco un numero n nella textbox, attraverso javascript e innerHTML, vengono create in un div n textbox.
    Quando però faccio il submit del form, explorer mi vede i valori delle textbox che ho inserito tramite jscript, mentre firefox no.
    Come posso risolvere?

    Ecco il codice javascript

    codice:
    function mostradiv(nome){
    			var nomediv= "div" + nome;
    			if (document.getElementById(nome).value!='' && IsNumber(document.getElementById(nome).value)){
    				if (document.getElementById(nome).value>0){
    					var numero=document.getElementById(nome).value;
    					var testo="";
    					for (i=0;i<numero;i++){
    						var divdue= "div" + nome + "_" + i;
    						testo = testo + "
    Numero di iscrizione all'albo: <input type='text' name='" + nome + "-" + i + "' id='" + nome + "-" + i + "' >";
    
    					}
    					document.getElementById(nomediv).innerHTML = testo;
    					document.getElementById(nomediv).style.display="block";
    				}}
    Mentre il form è

    codice:
    <form name="pagamento" action="iscrizione_altri.php?corsigrat=0" method="post">
    <input type="text" onkeyUp="mostradiv('1');" name="1" id="1" value="" style="width:30px"> 
    <div id="div2" style="display:none" class="testo">
    										
    										</div>
    <input type="Submit" name="conferma" value="Conferma">
    </form>

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ho provato con IE7, Firefox, Opera, Chrome, e va :master:
    Pietro

  3. #3
    Funziona il javascript, ma quando faccio il submit, in firefox mi da questo errore

    Notice: Undefined index: 1-0

    Quando provo a richiamare l'input box generata

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    A me nessun errore
    Pietro

  5. #5
    Ma hai fatto nella pagina del submit $_POST['1-0']?

    Che versione di firefox hai? In explorer non da errori nemmeno a me

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da diuzza
    Ma hai fatto nella pagina del submit $_POST['1-0']?

    Che versione di firefox hai? In explorer non da errori nemmeno a me
    La pagina che riceve i dati è fatta in asp.net e vede correttamente i valori inviati
    Pietro

  7. #7
    Io ho provato a mettere pure nel form method="get" ed in explorer l'url che mi arriva è questo

    codice:
    http://blabla.php?submitted=true&1=1&1-0=433&conferma=Conferma
    Questo facendo la stessa cosa in firefox

    codice:
    http://blabla.php?submitted=true&1=1&conferma=Conferma
    Come vedi non mi passa i valori dell'input box (1-0) che genero con innerhtml

    Che versione di firefox usi?

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    intanto non dare nomi numerici o che comincino per numero e' una regola che vale tanto per elementi statici quanto per quelli creati dinamicamente

    poi innerHTML secondo me non e' indicato per fare cose del genere,
    leggiti un paio di discussioni linkate in script / discussioni utili in cima alla pagina delle discussioni
    dove si tratta come aggiungere dinamicamente campi di form via metodi del DOM o duplicare quelli gia' esistenti

    ciao

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Fermo restando che convengo con quello appena detto, questa è la pagina html

    La pagina server serve solo per verificare i parametri

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function mostradiv(nome)
    {
        var nomediv= "div" + nome;
        if (document.getElementById(nome).value!='' && IsNumber(document.getElementById(nome).value))
        {
    	    if (document.getElementById(nome).value>0)
    	    {
    		    var numero=document.getElementById(nome).value;
    		    var testo="";
    		    for (i=0;i<numero;i++)
    		    {
    			    var divdue= "div" + nome + "_" + i;
    			    testo = testo + "
    Numero di iscrizione all'albo: <input type='text' name='" + nome + "-" + i + "' id='" + nome + "-" + i + "' >";
    
    		    }
    		    document.getElementById(nomediv).innerHTML = testo;
    		    document.getElementById(nomediv).style.display="block";
    	    }
    	}
    }
    
    function IsNumber(Expression)
    {
        Expression = Expression.toLowerCase();
        RefString = "0123456789.-";
        
        if (Expression.length < 1) 
            return (false);
        
        for (var i = 0; i < Expression.length; i++) 
        {
            var ch = Expression.substr(i, 1);
            var a = RefString.indexOf(ch, 0);
            if (a == -1)
                return (false);
        }
        return(true);
    }
    
    // ]]>
    </script>
    
    </head>
    <body>
        <form name="pagamento" action="a.aspx?corsigrat=0" method="post">
        <input type="text" onkeyup="mostradiv('1');" name="1" id="1" value="" style="width: 30px" />
        <div id="div1" style="display: none" class="testo"></div>
        <input type="submit" name="conferma" value="Conferma" />
        </form>
    </body>
    </html>
    Pietro

  10. #10
    Ascolta ti metto la pagina per intero , perchè mi sa che ho banalizzato la cosa, mentre all'interno ho chiamate ajax etc...
    Ora la versione semplificata mi va ma questa ancora no.
    Spiego...
    Ho n input box a seconda di un risultato di una query. Ognuna delle n input box, inserendo un numero p mi fa stampare p input box. Inserendo i valori nelle input create mi va a fare un controllo ajax sui valori e mi dice se è corretto.

    Pero i valori delle input text create non mi vanno...

    Ti prego se puoi darmi un occhio

    Grazie

    codice:
    <?
    session_start();
    include("inc/common.inc");
    
    ?>
    <html>
    <head>
    	<script type="text/javascript" src="js/requestok.js"></script>
    	<script language="JavaScript">
    		function conferma(pagina) {
    			if(window.confirm("Sei sicuro di acquistare il corso?")){
    				location.href(pagina);
    			}
    		}
    		function IsNumber(Expression) {
        		Expression = Expression.toLowerCase();
        		RefString = "0123456789.-";
    			if (Expression.length < 1) 
            		return (false);
       			for (var i = 0; i < Expression.length; i++) 
        		{
            		var ch = Expression.substr(i, 1);
            		var a = RefString.indexOf(ch, 0);
            		if (a == -1)
               			return (false);
        		}
        		return(true);
    		}
    		
    		function controlla(corso,numiscr,divdue,indice){
    		//alert(corso + " " + numiscr + " " + divdue + " " + indice);
    			if (numiscr!=""){
    				//alert("a");
    				if (document.getElementById(corso).value!='' && IsNumber(document.getElementById(corso).value) && IsNumber(document.getElementById(corso + "-" + indice).value)){
    					//alert("b");
    					if (document.getElementById(corso).value>0){
    						//alert("c");
    						var numero=document.getElementById(corso).value;
    						var testo="";
    						var ok=0;
    						for (i=0;i<numero;i++){
    							//alert("d");
    							if (i!=indice){
    								var nome= corso + "-" + i;
    								//alert(nome);
    								//alert(document.getElementById(nome).value);
    								if (document.getElementById(nome).value==numiscr){
    									ok++;
    								}
    							}
    						}
    						//alert(ok);
    						if (ok==0){
    							//alert("ok");
    							requestok(corso,numiscr,divdue);
    						}else{
    							alert("Numero di iscrizione già inserito");
    							var nome=corso + "-" + indice;
    							document.getElementById(nome).value="";
    							document.getElementById(divdue).innerHTML="";
    						}
    					}
    				}else{
    					document.getElementById(corso + "-" + indice).value="";
    				}
    			}else{
    				document.getElementById(divdue).innerHTML="";
    			}
    		}
    		
    		function mostradiv(nome){
    			var nomediv= "div" + nome;
    			if (document.getElementById(nome).value!='' && IsNumber(document.getElementById(nome).value)){
    				if (document.getElementById(nome).value>0){
    					var numero=document.getElementById(nome).value;
    					var testo="";
    					document.getElementById(nomediv).innerHTML="";
    					for (i=0;i<numero;i++){
    						var divdue= "div" + nome + "_" + i;
    						testo = testo + "
    Numero di iscrizione all'albo: <input type='text' name='" + nome + "-" + i + "' id='" + nome + "-" + i + "'  onKeyUp='controlla(" + nome + ",this.value,\"" + divdue + "\"," + i + ");'><div id='" + divdue + "'></div>";
    					}
    					document.getElementById(nomediv).innerHTML = testo;
    					document.getElementById(nomediv).style.display="block";
    				}else{
    					document.getElementById(nomediv).innerHTML ="";
    					document.getElementById(nomediv).style.display='none';
    				}
    			}else{
    				document.getElementById(nomediv).innerHTML ="";
    				document.getElementById(nomediv).style.display='none';
    			}
    		} 
    		
    		function inseriscivalori(){
    		<?
    		
    		?>
    		}
    	</script>
    </head>
    <body bgcolor="#FFFFFF">
    
    <? include("inc/m_contenitore_in.inc"); ?>
    <? include("inc/m_testata.inc"); ?>
    			
    			<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    				<tr>
    					<td width="227" valign="top">
    						<? include("inc/m_box_sx.inc"); ?>
    					</td>
    					<td width="10"></td>
    					<td valign="top">
    						
    							<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0">
    							<form name="pagamento" action="iscrizione_altri.php?corsigrat=0" method="post">
    							<input type="Hidden" name="submitted" value="true">
    							<input type="text" name="submitted" value="true" id="test">
    							<?	
    							if (IsSet($_SESSION['id'])){	
    								$data=date('Y-m-d H:i:s');
    								$sql="select * from ordine_tbl_ana_ordini where ordine_tbl_ana_ordini.id=" . $_SESSION['ordine'];
    								include("inc/db_connetti.inc");
    								$result=mysql_query($sql,$connessione);
    								include("inc/db_disconnetti.inc");
    								$ordine=mysql_fetch_assoc($result);
    								if ($ordine['acquistati']!=0 and is_null($ordine['acquistati'])==false){
    									redirect("iscrizione_corso.php",0);
    								}
    								$sql="select * from ordine_tbl_ana_corso where ordine_tbl_ana_corso.data_scadenza>'" . $data . "' and ordine_tbl_ana_corso.data_attivazione<='" . $data . "'";
    								//echo($sql);
    								include("inc/db_connetti.inc");
    								$result=mysql_query($sql,$connessione);
    								include("inc/db_disconnetti.inc");
    								$num=mysql_num_rows($result);
    								if ($num!=0){
    							?>
    								<tr><td colspan=5 class="titolo_blu" align="center">Catalogo Corsi
    
    </td></tr>
    								<tr>
    									<td width="15">[img]immagini/struttura/tab_angolosx.jpg[/img]</td>
    									<td width="414">[img]immagini/struttura/tab_testata.jpg[/img]</td>
    									<td width="22">[img]immagini/struttura/tab_centro.jpg[/img]</td>
    									<td width="47">[img]immagini/struttura/tab_testatadx.jpg[/img]</td>
    									<td width="15">[img]immagini/struttura/tab_angolodx.jpg[/img]</td>
    								</tr>
    							
    							<?
    									$ncorsi=0;
    									while ($corsi=mysql_fetch_assoc($result)){
    										$ncorsi++;
    							?>
    								<tr>
    									<td background="immagini/struttura/tab_latosx.jpg"></td>
    									<td>
    										<table width="100%" cellpadding="0" cellspacing="0">
    											<tr>
    												<td class="titolo_corso"><? echo($corsi['titolo']);?></td>
    											</tr>
    											<tr>
    												<td></td>
    											</tr>
    										</table>
    										<table width="100%" cellpadding="0" cellspacing="0">
    											<tr>
    												<td class="testo" width="130">
    													<? echo($corsi['crediti']);?> crediti
    
    													
    
    													scadenza <? echo(data($corsi['data_scadenza']));?>
    												</td>
    												<td class="testo_rosso" width="130" valign="bottom" align="center">
    													&euro;<? echo($corsi['costo']);?>
    (IVA INCLUSA)
    
    												</td>                                                
    											</tr>
    										</table>
    									</td>
    									<td background="immagini/struttura/tab_divisore.jpg"></td>
    													                                    
    				
    									<td align="center"><input type="text" onkeyUp="mostradiv('<?echo $corsi['id_corso'];?>');" name="<?echo $corsi['id_corso'];?>" id="<?echo $corsi['id_corso'];?>" value="" style="width:30px"> </td>
    									<td background="immagini/struttura/tab_latodx.jpg"></td>
    								</tr>
    								<tr>
    									<td background="immagini/struttura/tab_latosx.jpg"></td>
    									<td>
    										<div id="div<?echo $corsi['id_corso'];?>" style="display:none" class="testo">
    										
    										</div>
    									</td>
    									<td background="immagini/struttura/tab_divisore.jpg"></td>
    									<td align="center" width="100%"></td>
    									<td background="immagini/struttura/tab_divisore.jpg"></td>
    								</tr>
    								<tr>
    									<td>[img]immagini/struttura/tab_latosx_centro.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_interna.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_centro2.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_interna2.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_latodx_centro.jpg[/img]</td>
    								</tr>
    							<?
    									}
    							?>
    								<tr>
    									<td>[img]immagini/struttura/tab_angolosx_fondo.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_centrofondo.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_interna_fondo.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_centrofondo.jpg[/img]</td>
    									<td>[img]immagini/struttura/tab_angolodx_fondo.jpg[/img]</td>
    								</tr>
    							<?
    								}
    								if ($ncorsi==0){
    							?>
    									<tr><td colspan=5 class="testo_errore">Nessun corso acquistabile</td></tr>
    								
    							<?
    								}else{
    							?>
    								<tr><td colspan="5"><input type="Submit" name="conferma" value="Conferma" onclick="inseriscivalori();"></td></tr>
    							</form>
    							<?
    								}
    							}else{
    							?>
    							<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    							<tr>
    								<td class="titolo">Utente non riconosciuto</td>
    							</tr>
    							<tr>
    								 <td height="20"></td>
    							</tr>
    							<tr>
    								<td class="testo_errore" colspan="2">
    								Gentile Dottoressa, Egregio Dottore,
    
    per visualizzare i corsi a cui è iscritto è necessario effettuare l'accesso all'area personale previa registrazione al sito.
     Se è già registrato, effettui il login.
    Altrimenti si registri al sito.
    
    
    
    								</td>
    							</tr>
    							<tr>
                                	<td valign="top">
    								
                                        <table height="137" width="227" border="0" align="center" cellpadding="0" cellspacing="0" background="immagini/box/login_bg.jpg">
    										<tr>
    											<td valign="top">
    												<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td height="40"></td></tr></table>
    												<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" >
    													<tr>
    														<form name="login" action="index.php" method="post">
    														<td width="15" height="10"></td>
    														<td width="65" valign="bottom">[img]immagini/box/username.gif[/img]</td>
    														<td valign="bottom"><input type="text" name="user" class="casella" style="width:130px;"></td>
    													</tr>
    													<tr>
    														<td width="15" height="25"></td>
    														<td width="65" valign="bottom">[img]immagini/box/password.gif[/img]</td>
    														<td valign="bottom"><input type="password" name="password" class="casella" style="width:130px;"></td>
    													</tr>
    												</table>
    												<input type="hidden" name="log" value="yes">
    												<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td height="8"></td></tr></table>
    												<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    													<tr>
    														<td width="15" height="20"></td>
    														<td>[img]immagini/box/pw_dimenticata.gif[/img]</td>
    														<td width="15"></td>
    														<td width="15"></td>
    													</tr>
    													<tr>
    														<td width="15"></td>
    														<td colspan="2" align="right"><input type="image" src="immagini/box/entra.jpg" alt="" border="0"></td>
    														</form>
    														<td width="15"></td>
    													</tr>
    												</table>
    											</td>
    										</tr>
    									</table>            
    								</td>
    								<td valign="top">
    									[img]immagini/struttura/registrazione.jpg[/img]
                                    </td>
    							</tr>
    							</table>
    							<?
    							}
    							?>	
    							</table>
    						
    					</td>
    				</tr>
    			</table>
    			
    <? include("inc/footer.inc"); ?>            
    <? include("inc/m_contenitore_out.inc"); ?>
    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    var pageTracker = _gat._getTracker("UA-4879370-1");
    pageTracker._initData();
    pageTracker._trackPageview();
    </script>
    </body>
    </html>

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.