ugrás a tartalomhoz

style.display="none"

cszlak · 2014. Feb. 22. (Szo), 10.08
Sziasztok
Egy kis segítségre lenne szükségem:

Egy többnyelvű Formot csináltam, de valamiért nem akarja csak a kiválasztott nyelvet megjeleníteni. Váltáskor is csak a kiválasztott kellene hogy látszódjon.

Teszt.php kód:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="../css/screen.css"/>
</head>
<body>
 <?php 
  if(isset($_POST['text_modify_submit'])){	 echo "<h1>"; print_r($_POST); echo "</h1>";  }
   ?> 
         <script type="text/javascript">
	    window.onload = function() {
		 <?php  $language_list = "hu,en,ge";
                          $language_default = "hu";
			   if(isset($language_list) and !empty($language_list)){
			    $language_array = explode(",",$language_list);
				$language_array_count = count($language_array);
			   if(isset($language_array_count) and $language_array_count > 1){
				   ?>
		 /* alapértelmezett */
		  document.getElementById("text_lang_<?php echo $language_default ?>").style.display="block";
		document.getElementById("headline_lang_<?php echo $language_default ?>").style.display="block";
		document.getElementById("title_lang_<?php echo $language_default ?>").style.display="block";
		<?php for($d=0; $d<$language_array_count;$d++){
				  if($language_array[$d] != $language_default){?>
	    document.getElementById("text_lang_<?php echo $language_array[$d]; ?>").style.display="none";
		document.getElementById("headline_lang_<?php echo $language_array[$d] ?>").style.display="none";
		document.getElementById("title_lang_<?php echo $language_array[$d] ?>").style.display="none"; 
			  <?php }//if
			   }//for  ?>   
       var e = document.getElementById('mySelect');
       var strUser = e.options[e.selectedIndex].value;
	   /* változtatáskor */
        e.onchange = function() {
			var x = document.getElementById("mySelect").selectedIndex;
            var y = document.getElementById("mySelect").options;
            alert("Index: " + y[x].index + " is " + y[x].value);
			
			<?php for($b=0; $b<$language_array_count;$b++){ ?>
            if(y[x].value === "<?php echo $language_array[$b] ?>") {
		document.getElementById("text_lang_<?php echo $language_array[$b] ?>").style.display="block";
		document.getElementById("headline_lang_<?php echo $language_array[$b] ?>").style.display="block";
		document.getElementById("title_lang_<?php echo $language_array[$b] ?>").style.display="block"; 
		<?php for($d=0; $d<$language_array_count;$d++){
				  if($language_array[$d] != $language_array[$b]){?>
	    document.getElementById("text_lang_<?php echo $language_array[$d]; ?>").style.display="none";
		document.getElementById("headline_lang_<?php echo $language_array[$d] ?>").style.display="none";
		document.getElementById("title_lang_<?php echo $language_array[$d] ?>").style.display="none"; 
			  <?php }//if
			   }//for  ?>
            } 
			<?php } //for ?> 
        }
    }
  </script>
             <div class="styled-select">    
      <select  name="lang"  id="mySelect" >
      <option value="hu">HU</option>
      <option value="en">EN</option>
      <option value="ge">GE</option>
      </select> 
      </div>
           <?php } }?>   
<form action="" method="post" enctype="multipart/form-data" style="width:72%; float:left;">   
<table border="0" cellpadding="0" cellspacing="0"  id="id-form" >
   <?php 
        if(isset($language_list) and !empty($language_list) and isset($language_array_count) and $language_array_count > 1 ){
	  for($c=0;$c<$language_array_count;$c++){	
	   ?>
     <!-- --------- Headline --------------------------------------------- -->    
    <tr id="headline_lang_<?php echo $language_array[$c]; ?>" style=" width:100%;">      
     <th ><input name="headline_<?php echo $language_array[$c]; ?>" type="text" class="inp-form" id="text_title1"  title="" onchange="ments(1, <?php if(isset($ell) and $ell == 0){print('0');} else{print('1');}?>)"  value="<?php 
	 /*  */ 
	 if(isset($_POST['headline']) and !empty($_POST['headline'])  ){echo $_POST['headline'];}
	 else{/* print($text_datas[0]['headline']); */} ?>" /></th>
     <td >
      </td>
         </tr>
          <?php }//for
	   }//if
   ?>  
           <!-- --------- Sumbit --------------------------------------------- -->
	<tr style="display:block; width:100%;" >
	<th ><input type="submit" name="text_modify_submit" class="form-submit"   
    value="Mentés">
  		</th>
	<td>&nbsp;</td>  
    </tr>
    </table>
    </form>
  </body>
</html>
Az lenne a lényeg, hogy alapból csak az alapértelmezett nyelv, kiválasztáskor az adott nyelvhez tartozó input mezőnek kellene megjelennie.
 
2

Köszi

cszlak · 2014. Feb. 22. (Szo), 12.58
Köszi

Igazad van, az itt leírt módszert a js debug keresésére nem ismertem,
De így megtaláltam a hibát.
3

nem hittem volna, hogy valaha

szabo.b.gabor · 2014. Feb. 23. (V), 10.24
nem hittem volna, hogy valaha lesz ilyen, de Gábor szerintem pezsgőt bontott :D

Hatalmas! (:

Minden tisztelem az Övé és Tied!
4

Hogy találtad ki?

Hidvégi Gábor · 2014. Feb. 23. (V), 11.34
Este volt ünneplés a haverokkal.