I ironhead Medlem sedan mars 2001 1 346 inlägg Trådstart 8 maj 2003 07:23 #1 Kan man ta innehållet i en "textarea" (formaterad med en massa html- taggar) och göra nån slags "förhansdvisning" i ett popupfönster?
<form name="vbform" method="post" action="update.php">
<textarea name="textfield">
<b><h1>HELLO</h1></b>
</textarea>
<input type="button" name="Preview" value="Förhandsvisa" onclick="openWin([b]textarea innehåll[/b])">
<input type="submit" name="Submit" value="Uppdatera">
</form>
<script type="text/javascript">
<!--
function openWin(){
window.open('preview.php','scrollbars=auto,width=600,height=400')
};
//-->
</script>
Jesper T Medlem sedan nov. 2001 7 144 inlägg I ironhead Medlem sedan mars 2001 1 346 inlägg öööh! Hur ska det här funka då?
Error: Expected identifier, Line 0
<script language="JavaScript" type="text/javascript">
function previewForm(obj){
previewWin=window.open("","","width=600,height=200,scrollbars=yes");
with(previewWin.document){
open();
write("<html><head><title>Preview of form</title></head><body><table border=0>");
for(var n=0;n<obj.length;n++){
if(obj[n].name.length>0){
if(obj[n].type=="file" || obj[n].type=="text" || (obj[n].type=="checkbox" || obj[n].type=="radio") && obj[n].checked){
write("<tr><td><b>"+obj[n].name+"</b></td><td>"+obj[n].value+"</td></tr>");
} else if(obj[n].type == "select-one" || obj[n].type == "select-multiple"){
for(var nn=0;nn<obj[n].length;nn++){
if(obj[n][nn].selected){ write("<tr><td><b>"+obj[n].name+"</b></td><td>"+obj[n][nn].value+"</td></tr>"); }
}
}
}
}
write("</table><form><input type=\"button\" value=\"Skicka\" onClick=\"window.opener.document."+obj.name+".submit(); window.close();\"> <input type=\"button\" value=\"Ångra\" onClick=\" window.close();\"></form></body></html>");
close();
}
return false;
}
</script>
<form name="test" method="post" action="preview.php">
<textarea>
<b><h1>test</h1></b>
</textarea>
<input type="submit" value="test" onSubmit="return previewForm(this);">
</form>
Jesper T Medlem sedan nov. 2001 7 144 inlägg Onsubmit skall vara inom <form >
Men textarea verkar inte funka, jag testade med <input type="text" då gick det bra.
Enklast vore det om du har något serverbaserat scriptspråk på din server så går detta att fixa med en klackspark.
I ironhead Medlem sedan mars 2001 1 346 inlägg Har ju möjlighet att köra PHP...vad ere för klackspark du pratar om?
I ironhead Medlem sedan mars 2001 1 346 inlägg Hur fick du det att funka med en input-ruta?
<script language="JavaScript" type="text/javascript">
function previewForm(obj){
previewWin=window.open("","","width=600,height=200,scrollbars=yes");
with(previewWin.document){
open();
write("<html><head><title>Preview of form</title></head><body><table border=0>");
for(var n=0;n<obj.length;n++){
if(obj[n].name.length>0){
if(obj[n].type=="file" || obj[n].type=="text" || (obj[n].type=="checkbox" || obj[n].type=="radio") && obj[n].checked){
write("<tr><td><b>"+obj[n].name+"</b></td><td>"+obj[n].value+"</td></tr>");
} else if(obj[n].type == "select-one" || obj[n].type == "select-multiple"){
for(var nn=0;nn<obj[n].length;nn++){
if(obj[n][nn].selected){ write("<tr><td><b>"+obj[n].name+"</b></td><td>"+obj[n][nn].value+"</td></tr>"); }
}
}
}
}
write("</table><form><input type=\"button\" value=\"Skicka\" onClick=\"window.opener.document."+obj.name+".submit(); window.close();\"> <input type=\"button\" value=\"Ångra\" onClick=\" window.close();\"></form></body></html>");
close();
}
return false;
}
</script>
<form method="post" action="preview.php" onSubmit="return previewForm(this);">
<input type="text" value="<b><h1>test</h1></b>">
<input type="submit" value="test" name="submit">
</form>
dectgap Medlem sedan sep. 2002 1 655 inlägg Om du vill använda en textarea:
<script type="text/javascript">
function preview(theForm){
txt = theForm.code.value;
popup = window.open("", "foo", "width=600, height=500");
with(popup.document){
write("<html>\n<body>\n");
write(txt);
write("\n</body>\n</html>");
}
}
</script>
...
<form>
<textarea name="code"></textarea>
<br />
<input type="button" value="Förhandsgranska" onclick="preview(this.form)" />
</form>
För att slippa skapa nya html-dokument varje gång jag ska testa någon HTML/CSS/JavaScript-kod har jag skapat den här sidan (inspirerad av w3schools.com ) där jag använder PHP för att skriva ut resultatet:
http://roslund.homeip.net/mattias/arbetsplats/
J Jojoxx Medlem sedan juni 2000 4 308 inlägg Sorry. Hade glömt textarea. Nu är det fixat .