webForumDet fria alternativet

Printpreview

JavaScript

17 svar · 513 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Har funderingar på att göra en utskriftspopup med följande ko di popupen:

 <script>
document.FrontPage_Form1.printForm.value = document.getElementById("SourceCode").innerHTML;
</script>

Och sätta id="SourceCode" på den tabell jag vill skriva ut. Nu till frågan; går det att skicka "SourceCodetabellen" till popupen, och i sådana fall hur?

Medlem sedan juni 20004 308 inlägg
#2

Ja, eller så hämtar du datat från popup'en istället med "window.opener.document.osv..." Det kanske är enklare.

Medlem sedan nov. 20017 144 inlägg
#3

Jojoxx skrev:

Ja, eller så hämtar du datat från popup'en istället med "window.opener.document.osv..." Det kanske är enklare.

Kan du förklara lite? :r

Medlem sedan juni 20004 308 inlägg
#4

Om du har en tabell innesluten i en container (<div>) med id="SourceCode" så kan du hämta den från dokumentet som du laddar i popup-fönstret och lägga den på sidan med;

<script language="JavaScript" type="text/javascript">
document.write(window.opener.document.getElementById("SourceCode").innerHTML);
</script>

Medlem sedan nov. 20017 144 inlägg
#5

Går detta att lägga in i en variabel som jag kan bolla med asp?
Typ:(helt fel men ändå)

 <script language="JavaScript" type="text/javascript"> 
strJs=document.write(window.opener.document.getElementById("SourceCode").innerHTML); 
</script>

<%
'gör saker i asp
Response write funktioner(strJs)
%>
Medlem sedan juni 20004 308 inlägg
#6

Nej, inte direkt. ASP körs som bekant på servern medans Client-side JavaScript körs i webbläsaren. Det som kommer till webbläsaren är alltså html med ev. JavaScript. ASP-koden är då för exekverad och borta från sid-koden ("Visa källa" i webbläsaren).

Sedan kan du mycket väl köra (Server-side) JavaScript i ASP, men där har du inte tillgång till renderad html, alltså DOM/dhtml-funktioner som webbläsaren tillhandahåller.

Det korta svaret är ändå; nej.

Medlem sedan nov. 20017 144 inlägg
#7

Även fast jag gör:

Response.write" <script language=""JavaScript"" type=""text/javascript""> "&_
strJs="document.write(window.opener.document.getElementById(""SourceCode"").innerHTML); "&_
"</script>"
Medlem sedan juni 200032 967 inlägg
#8

Vad är strJs? Det där kan nog inte fungera.

Response.write "<script language=""JavaScript"" type=""text/javascript""> "&_
"document.write(window.opener.document.getElementById(""SourceCode"").innerHTML); "&_
"</script>"

mvh,

Medlem sedan nov. 20017 144 inlägg
#9

Tack @nders, men...
Som i inlägget innan, jag skrev :(helt fel men ändå)
det var bara principen. Jag vill köra lite replacer samt att ta bort funktioner i formulär etc innan jag visar det på preeviewsidan. Där av den anledningen. strJs är bara en variabel (som jag tänkte mixtra med).

Medlem sedan juni 200032 967 inlägg
#10

Eh, inte för att jag förstår någonting, men tänk på detta:

* all asp körs innan någonting skickas till webbläsaren.
* du kan inte med asp göra något med något som finns i webbläsaren.

Lägg ner allt i ett hiddenfält och posta formulär till en asp-sida som förändrar datat är väl vad jag hade gjort.

Fast nu vet jag ju inte om det är det du vill göra, eftersom jag inte förstår någonting. :)

mvh,

Medlem sedan nov. 20017 144 inlägg
#11

Men går det inte att göra med runat=server på ngt sätt?
Jag vill hämta allt som finns innanför en tabell, öppna det i en pipup där du kan skriva ut allt sammans. Grejjen är den, att har jag med länkar och formulär etc. så vill jag regexpa bort det i utskriftspipuppen. Det är inte så bra om folk kan klicka, trycka och mixtra på den sidan ju. Det skall bara gå att skriva ut ifrån den. Det kanske går på ngt annat sätt, det går ju att regexpa i js oxo.

Medlem sedan juni 200032 967 inlägg
#12

Du kan inte med asp komma åt det som finns i besökarens webbläsare. ASP:n är färdig när användaren kan se något i sin läsare.

Jovisst kan du regexpa i JS om du vill det! :)

Mvh,

Medlem sedan nov. 20017 144 inlägg
#13

Du kan inte med asp komma åt det som finns i besökarens webbläsare. ASP:n är färdig när användaren kan se något i sin läsare.

Det var därför jag ställde frågan. Men jag var väl otydlig, jag blir lätt det när jag själv vet hur jag vill ha det så att säga. ;)
Tack jag får leta vidare efter regexp patterns för detta.

Medlem sedan sep. 20001 124 inlägg
#14

Om du vill att prylar ska försvinna eller läggas till vid utskrift så kan du lösa det med CSS. Med hjälp av en "@media print" så kan du ställa in vilka egenskaper som gäller vid just utskrifter.

Medlem sedan nov. 20017 144 inlägg
#15

Tack, skall leta lite ang. det!

Medlem sedan nov. 20017 144 inlägg
#16

Men går det att css:a bort det då? Jag har sökt här och på google osv. men det verkar vara svårt att hitta ngn vettig förklaring till @media print. Jag vill ju också visa tex en länk och ett formulär men det skall inte gå att klicka/skicka osv.

Medlem sedan juni 20004 308 inlägg
#17

Exempel;

<style type="text/css">
@media print {
	.onlyOnScreen { display:none; }
}
</style>
<div class="onlyOnScreen">Detta syns bara på skärm, inte vid utskrift.</div>
Detta syns både på skärm och vid utskrift.

W3C

Medlem sedan nov. 20017 144 inlägg
#18

Jag löste allt med Javascript så här(inte perfekt men ändå):

 <script language="JavaScript" type="text/javascript">
strJs=(window.opener.document.getElementById(""SourceCode"").innerHTML);
document.write(strJs.replace("".asp"", "".xxxx"")) 
</script>
266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)