webForumDet fria alternativet

textarea preview

8 svar · 272 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#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 TMedlem sedan nov. 20017 144 inlägg
#2

http://www.jojoxx.net/jscript/archive/formpreview.html
Kanske kan vara ngt?

ironheadMedlem sedan mars 20011 346 inlägg
#3

ööö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 TMedlem sedan nov. 20017 144 inlägg
#4

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.

ironheadMedlem sedan mars 20011 346 inlägg
#5

Har ju möjlighet att köra PHP...vad ere för klackspark du pratar om? ;)

ironheadMedlem sedan mars 20011 346 inlägg
#6

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>
dectgapMedlem sedan sep. 20021 655 inlägg
#7

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/

ironheadMedlem sedan mars 20011 346 inlägg
#8

Tackar! Funka kanon! :e

JojoxxMedlem sedan juni 20004 308 inlägg
#9

Sorry. Hade glömt textarea. Nu är det fixat.

130 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)