Huske værdien ved tilbage.
Har en funktion hvor man kan lave sit eget lille formular. Den består af et antal dd-boxe, hvor man så kan vælge hvilken komponent man vil bruge. Klikker man så på en "Vis"-knap bliver man sendt videre til en side hvor formularet så bliver vist.Mit problem består så i, at den skal huske hvad man har valgt, når man f ex fortryder og klikker tilabage.
Gemmer alt i sessions, så det er ikke noget problem at få dd-boxene til at stå på en bestemt værdi. Des værre er det med de komponenter man har valgt, for de bliver genereret ved en onChange i dd-boxen.
Her kommer lidt af min kode:
<?php
if(isset($_GET['tilbage']) && $_GET['tilbage'] == 'ok'){
echo"function nytElement(typer, nr, vardi){";
}
else{
echo"function nytElement(typer, nr){";
}
?>
document.getElementById('oData['+nr+']').innerHTML="";
if(typer=="0"){
alert('Den går ikke');
}
else if(typer=="navn"){
var node=document.createTextNode('Label til tekstfelt:')
var ele=document.createElement('input');
document.getElementById('ioData['+nr+']').appendChild(node);
ele.setAttribute('type','text');
ele.setAttribute('name','navn'+nr);
ele.setAttribute('size','20');
ele.setAttribute('className','textGreen');
ele.setAttribute('class','textGreen');
}
else if(typer=="tal"){
var node=document.createTextNode('Label til talfelt:')
var ele=document.createElement('input');
document.getElementById('ioData['+nr+']').appendChild(node);
ele.setAttribute('type','text');
ele.setAttribute('name','taltekst'+nr);
ele.setAttribute('size','20');
ele.setAttribute('className','textGreen');
ele.setAttribute('class','textGreen');
}
osv osv
Kaldet:
if(isset($_GET['tilbage']) && $_GET['tilbage'] == 'ok'){
foreach($_SESSION['sessFelt'] as $key=>$value){
$type=($i<10 ? substr($value[0],0,-1) : substr($value[0],0,-2));
//$type=substr($value[0],0,-1);
//echo $type."<br>";
$i++;
echo"<tr>\n";
echo "<td>\n";
echo"<span id=\"ioData[".$i."]\"></span> <span id=\"oData[".$i."]\"></span> </td><td><select name=\"felt[".$i."]\" onChange=\"nytElement(this.value,'". $i ."')\" onLoad=\"nytElement(this.value,'". $i ."', '". $value[1] ."')\" class=\"textGreen\">\n";
switch($type){
case "overskrift":
echo"<option value=\"overskrift\" selected>Overskrift</option>\n";
echo"<option value=\"navn\">Navn</option>\n";
echo"<option value=\"tal\">Tal</option>\n";
echo"<option value=\"check\">Checkbox</option>\n";
echo"<option value=\"tekst\">Tekstfelt</option>\n";
echo"<option value=\"linieskift\">Linieskift</option>\n";
echo"</select>\n<br>";
echo"</td>\n</tr>\n";
break;
case "navn":
echo"<option value=\"overskrift\">Overskrift</option>\n";
echo"<option value=\"navn\" selected>Navn</option>\n";
echo"<option value=\"tal\">Tal</option>\n";
echo"<option value=\"check\">Checkbox</option>\n";
echo"<option value=\"tekst\">Tekstfelt</option>\n";
echo"<option value=\"linieskift\">Linieskift</option>\n";
echo"</select>\n<br>";
echo"</td>\n";
echo "<td>".$value[1]."</td><td><input type=\"text\" style=\"width: 180px;\" class=\"textGreen\" name=\"".$value[0]."\"></td></tr>\n";
break;
osv osv
Har prøvet med en onLoad i select'en, men det virker ikke.
