Visualizzazione risultati 1 fino 7 di 7

Discussione: problema più form in una pagina con ie8

  1. #1
    Guest

    Predefinito problema più form in una pagina con ie8

    ciao

    come da titolo
    ho una pagina con più form (cinque per l'esattezza) distribuiti due in div e 3 in un altro che alternativamente vengono impostati con display none (possono essere entrambi nascosti, ma mai entrambi visibili).

    su internet explorer 9 tutto ok.

    su ie8 invece quando do il submit la pagina non viene ricaricata, ma dice che è scaduta è c'è stato non so che problema.
    l'operazione richiesta va comunque a buon fine (per esempio uno dei form serve per cambiare la password, ed effettivamente ciò avviene)

    questo problema però ho notato che non avviene con i form posizionati per ultimi dentro i div di cui parlavo all'inizio.

    a cosa può essere dovuto secondo voi?
    e soprattutto idee per risolvere?

    questo è la parte della pagina in cui sono posizionati i form:
    (scusate so che è tanto lungo, ma ormai questo problema me lo tiro dietro da un bel po' di giorni... venirne a capo è reso poi particolarmente più complicato dal fatto che non ho installato ie8 se non sul pc del lavoro)
    Codice HTML:
    <div id="action">
    
                   
    				<div id="tabs">
    					<ul><li><a href="#tabs-1">Impostazioni Profilo</a></li>
    <li><a href="#tabs-2">Informazioni di Profilo</a></li>
    					</ul>
    					
                        <div id="tabs-1">
                        	<div style='width:220px; float:left;'>
                            	<h3 id="selPwBox" class="thirdTitle">
                        			<a href='#'>Cambia Password</a>
    	                    	</h3>
        	                    
            	                <h3 id="selAvBox" class="thirdTitle">
                	        		<a href='#'>Cambia Avatar</a>
                    	    	</h3>
                            </div>
                        	<div style='float:right;'>
                            	<div id="pwChangeBox">
                            		<form action="#" method="post">
    	                            	<p>
        	                            	Inserisci la password attuale:<br />
            	                        	<input class='inputTxt' type="password" id="pwAttuale" name="pwAttuale" value="something" onfocus="this.value='';" onblur="validatePw('pwAttuale', 'esitoPw_actual', 'php_ajax/validate_password.php');" />
                                            <div id='esitoPw_actual'></div>
                	                    </p>
                    	                <p>
                        	            	Inserisci la nuova password:<br />
                            	        	<input class='inputTxt' type="password" id="pwNew_1" name="pwNew_1" onblur="validatePw('pwNew_1', 'esitoPw_1', 'php_ajax/validate_password.php');" />
                                            <div id='esitoPw_1'></div>
                                	    </p>
                                    	<p>
    	                                	Ripeti la nuova password:<br />
        	                            	<input class='inputTxt' type="password" id="pwNew_2" name="pwNew_2" onblur="validatePw('pwNew_2', 'esitoPw_2', 'php_ajax/validate_password.php');" />
                                            <div id='esitoPw_2'></div>
            	                        </p>
                	                    <input type="submit" id="setNewPw" name="setNewPw" value="Esegui" disabled="disabled" />
                    	            </form>
                                    
                                    <?php
    									include_once("php/password_updater.php");
    	
    if (!empty($_POST['pwAttuale']) && !empty($_POST['pwNew_1']) && !empty($_POST['pwNew_2'])) {
    										$obj = new passwordUpdater($_POST['pwAttuale'], $_POST['pwNew_1'], $_POST['pwNew_2'], $_SESSION['user']);
    										$info = $obj->updatePw();
    		echo "<div style='margin-top:5px;'>".$info."</div>";
    									}
    								?>
    </div>
    <div id="avatarChangeBox">
                            		<form enctype="multipart/form-data" action="#" method="post">
       <p>Sono ammesse tutte le immagini avente una dimensione (larghezza x lunghezza) non superiore a 180 x 160 pixel.
            	                        </p>
                	                    <p>
    Seleziona una nuova immagine da utilizzare come avatar:<br />
                        	            	<input class='inputTxt' type="file" name="newAvatar" id="newAvatar"  />
                            	        </p>
                                	    <input type="submit" name="setAvatar" id="setAvatar" value="Esegui" />
    </form>
     <?php
    	include_once("php/avatar_updater.php");
    	if (isset($_FILES['newAvatar'])) {
    		$obj = new avatarUpdater($_FILES['newAvatar'],"http://forum.it.altervista.org/images/avatar/",$_SESSION['user']);
    		$avInfo = $obj->updateAvatar();
    		echo "<div style='margin-top:5px;'>".$avInfo."</div>";
    									}
    									
    								?>
       </div>
    </div>
       <script>
    $('#selPwBox').click(function() {
    if($('#avatarChangeBox').is(':visible')) {
    	$('#avatarChangeBox').hide();	}
    	$('#pwChangeBox').show();
    	return false;				})
    							
    	$('#selAvBox').click(function() {
    	if($('#pwChangeBox').is(':visible')) {
    	$('#pwChangeBox').hide();
    			}
    	$('#avatarChangeBox').show();
    	return false;
    							})
                            </script>
    						<div style='clear:both'></div>
    					</div>
    	
        
    <div id="tabs-2">
                        	<div style='width:220px; float:left;'>
                            	<h3 id="selDateBox" class="thirdTitle">
                        			<a href='#'>Imposta data di nascita</a>
    	                    	</h3>
        	                    <h3 id="selDescrBox" class="thirdTitle">
                	        		<a href='#'>Descriviti</a>
                    	    	</h3>
                                <h3 id="selIntBox" class="thirdTitle">
                	        		<a href='#'>Interessi</a>
                    	    	</h3>
                            </div>
                        	<div style='float:right;'>
                            	<div id="dataChangeBox">
                        			
                                    <p>
                                    	<form action="#" method="post">
                                        	Data di nascita: <br />
    	                                    <input id="datepicker" class='inputTxt' name="datepicker" type="text" /><br />
                                            <input type="submit" name="setBorn" id="setBorn"  value="Invia" style="margin-top:5px;" />
                                    	</form>
                                    </p>
                                    
                                    <script>
    									$(function() {
    		$( "#datepicker" ).datepicker({
    			yearRange: '1920:getYear()',
    			changeMonth: true,
    			changeYear: true
    		});
    	});
    	</script>
    
    <?php
    	include_once("php/set_birthday.php");
    	if (!empty($_POST['datepicker'])) {
    		$obj = new setBirthday($_POST['datepicker'], $_SESSION['user']);
    		$info = $obj->updateBirthday();
    		echo "<div style='margin-top:5px;'>".$info."</div>";
    	}
    								?>
                                </div>
                                  <div id="descrChangeBox">                             
                                    <p>
    Se vuoi puoi inserire in questa sezione una breve descrizione di te stesso che comparirà nel tuo profilo personale.
                                    	<form action="#" method="post">
    	                                    <textarea name="myDescr" id="myDescr" cols="60" rows="10" style="margin-top:5px;"></textarea><br />
                                            <input type="submit" name="setDescr" id="setDescr" value="Invia" style="margin-top:5px;" />
                                    	</form>
                                    </p>
                                    
                                    <?php
    									include_once("php/set_description.php");
    	if (!empty($_POST['myDescr'])) {
    		$obj = new setDescription($_POST['myDescr'], $_SESSION['user']);
    $info = $obj->updateDescription();
    		echo "<div style='margin-top:5px;'>".$info."</div>";
    									}
    								?>
     </div>
     <div id="intChangeBox">
                        			 <p>
                                    	Se vuoi puoi inserire in questa sezione le cose che ti piace fare.
                                    	<form action="#" method="post">
    	                                    <textarea name="myInterest" id="myInterest" cols="60" rows="10" style="margin-top:5px;"></textarea><br />
                                            <input type="submit" name="setInt" id="setInt"  value="Invia" style="margin-top:5px;" />
                                    	</form>
                                    </p>
                                    
                                    <?php
    									include_once("php/set_interest.php");
    	if (!empty($_POST['myInterest'])) {
    										$obj = new setInterest($_POST['myInterest'], $_SESSION['user']);
    		$info = $obj->updateInterest();
    		echo "<div style='margin-top:5px;'>".$info."</div>";
    									}
    								?>
                                </div>
                        	</div>
                            
                        	<script>
                            	$('#selDateBox').click(function() {
    if($('#descrChangeBox, #intChangeBox').is(':visible')) {
    									$('#descrChangeBox, #intChangeBox').hide();
    	}
    	$('#dataChangeBox').show();
    	return false;
    	})
    	$('#selDescrBox').click(function() {
    	if($('#dataChangeBox, #intChangeBox').is(':visible')) {
    									$('#dataChangeBox, #intChangeBox').hide();
    }
    	$('#descrChangeBox').show();
    	return false;
    })
    $('#selIntBox').click(function() {
    	if($('#dataChangeBox, #descrChangeBox').is(':visible')) {
    									$('#dataChangeBox, #descrChangeBox').hide();
    	$('#intChangeBox').show();
    	return false;
    })
                            </script>	
    <div style='clear:both'></div>
                        </div>
    	
           </div>
    
    <script>
    $(document).ready(function() {
    $('div#tabs').tabs();
    });
    </script>
    </div>
    </div>
    edit.. l'indentazione è pessima... anche se a me su dreamweaver si vede bene qui viene sta schifezza
    Ultima modifica di stepone : 02-09-2011 alle ore 19.08.43

  2. #2
    Guest

    Predefinito

    Ormai nessuno più ha IE8, comunque prova a dare un nome ad ogni form.

  3. #3
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Ormai nessuno più ha IE8
    Non direi.
    http://gs.statcounter.com/

  4. #4
    Guest

    Predefinito

    Beh, sto parlando di IE8, non di IE.
    Ormai è uscito IE9, credo che pochi ormai abbiano l'8.
    Ciao!

  5. #5
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    La nona versione di Internet Explorer è solo compatibile con Windows Vista e Seven, ci sono ancora tantissimi utenti che usano Windows XP, inoltre il processo di aggiornamento di Internet Explorer è tra i più lenti, infatti nel sito che ho indicato puoi ben vedere che sono ancora usate versioni obsolete come la sei e la sette in percentuali considerevoli.
    Sarebbe però meglio non continuare questo discorso in questa discussione.

  6. #6
    Guest

    Predefinito

    al di là di quanti lo usino...

    c'è qualcuno che eventualmente ha mai riscontrato un problema simile?
    proverò cmq a dare un nome a ciascun form e a specificare espressamente l'attributo action...

    non avendo ie8 a casa l'esito lo saprò solo lunedì...

    se qualcuno ha altri suggerimenti sono più che benvenuti

  7. #7
    Guest

    Predefinito

    scusate il doppio post.
    volevo solo confermare che questo problema con ie8 si risolve specificando espressamente l'attributo action, e nominando i form.

    grazie per i suggerimenti

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •