webForumDet fria alternativet

Submitta en div

5 svar · 408 visningar · startad av jepsO

jepsOMedlem sedan mars 2001484 inlägg
#1

Jag försöker göra ett Frontpage-liknande formulär (dvs där <fet> visas som fet) och det går fint (kod kopierat från MSDN). Det blir dock problem när jag ska stoppa div:en i en form och försöka submitta det hela (ska stoppas in i en databas).

Här är koden (med de problematiska kodsnuttarna i fetstil):

<%
action = trim(Request("action"))
if action = "Save" then
	[b]Response.Write trim(Request("foo"))[/b]
end if
%>

<html>

<head>
<script language="JavaScript">
<!--
	arImageSrc = new Array (
        "images/bold.gif",
        "images/bold2.gif",
        "images/italic.gif",
        "images/italic2.gif",
        "images/underline.gif",
        "images/underline2.gif",
        "images/save.gif",
        "images/save2.gif"
    )
    arImageList = new Array ();
    for (counter in arImageSrc) {
        arImageList[counter] = new Image();
        arImageList[counter].src = arImageSrc[counter];
    }
    
    function submit_form(value) {
		[b]if (foo.value == "") {
			alert('Fältet är tomt.');
		}[/b]
		else {
			document.editor.action.value = value;
			document.editor.submit();
		}
	}
    
-->
</script>
<script language="JavaScript" type="text/javascript">
<!-- 
	function fixUglyIE() {
		for (a in document.links) document.links[a].onfocus = document.links[a].blur;
	}
	if (document.all) {
		document.onmousedown = fixUglyIE;
	}
// -->
</script> 

</head>

<body onLoad="foo.focus();">

<form method="POST" action="index.asp" name="editor">

	<input type="hidden" name="action">

<div align="center">
<div unselectable="on" align="center" style="height:300; width:400; background-color:powderblue; border:outset powderblue">  
  <br>  
  [b]<div id="foo" contenteditable align="left" style="height:250; width:350;background-color:white; font-family:Verdana; padding:3;    
   border:inset powderblue; scrollbar-base-color:powderblue; overflow=auto;">  
  </div>[/b]  
  <br>  
  <button unselectable="On" onClick='document.execCommand("Bold");foo.focus();' onMouseDown="document.bold.src='images/bold2.gif';" onMouseUp="document.bold.src='images/bold.gif';" style="background-color:powderblue; border:0;">   
   <img border="0" src="images/bold.gif" name="bold" WIDTH="23" HEIGHT="22"></button>  
  <button unselectable="On" onClick='document.execCommand("Italic");foo.focus();' onMouseDown="document.italic.src='images/italic2.gif';" onMouseUp="document.italic.src='images/italic.gif';" style="background-color:powderblue; border:0;">   
   <img border="0" src="images/italic.gif" name="italic" WIDTH="23" HEIGHT="22"></button>  
  <button unselectable="On" onClick='document.execCommand("Underline");foo.focus();' onMouseDown="document.underline.src='images/underline2.gif';" onMouseUp="document.underline.src='images/underline.gif';" style="background-color:powderblue; border:0;">   
   <img border="0" src="images/underline.gif" name="underline" WIDTH="23" HEIGHT="22"></button>  
  <button unselectable="On" onClick='submit_form("Save");' onMouseDown="document.save.src='images/save2.gif';" onMouseUp="document.save.src='images/save.gif';" style="background-color:powderblue; border:0;">   
   <img border="0" src="images/save.gif" name="save" WIDTH="23" HEIGHT="22"></button>  
  <p>
</div>
</div>

</form>

</body>

</html>

Är det möjligt att få en <div> att submittas på samma sätt som en <textarea>, på så sätt att värdet skickas med i method="POST" och kan hämtas upp mha ASP?

[Redigerat av jepsO den 09 maj 2001]

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Kopiera innehållet i div'en till ett gömt fält så kan du submitta det i en vanlig form;

<input type="hidden" name="fooo">
<div onKeyUp="document.editor.fooo.value=foo.innerText; return true;" id="foo" contenteditable ...osv

------------------

/ J

jepsOMedlem sedan mars 2001484 inlägg
#3

Ljuvligt, tack så mycket!

jepsOMedlem sedan mars 2001484 inlägg
#4

Ett problem (ganska avgörande, dessvärre):
Jag har ingen aning om hur textformateringen fungerar (se ett demo på http://www.gamersinside.com/temp/jeps0/editor.htm ), men när jag använder din metod för att placera texten i en hidden input blir texten "råformaterad", dvs ingen fetstil, länkkonvertering el. dyl. kvarstår.

Då jag egentligen inte har någon aning om hur den här metoden fungerar i grunden är det lite svårt att åtgärda. Tips någon?

@ndersMedlem sedan juni 200032 969 inlägg
#5

prova att ändra till:

div onKeyUp="document.editor.fooo.value=foo.inner[b]HTML[/b]; return true;"

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

jepsOMedlem sedan mars 2001484 inlägg
#6

Tyvärr, det fungerade inte heller.

Nästan så jag får höra av mig till Microsoft (och hoppas på svar) - jag har aldrig sett någon liknande kodning i vanlig HTML tidigare.

Artikeln i sig ger inte mycket till hjälp:

If you're using Active Server Pages (ASP), you can include your editable elements in a form, use the Post method to post them to an ASP page, and then store them on your server however you like.

Jag är förbryllad...

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