Avatar billede dotcom1 Nybegynder
07. februar 2012 - 10:28 Der er 7 kommentarer og
1 løsning

skjul textarea (ved print) hvis det er tomt

Hej.

Jeg vil gerne kunne checke om et textarea er udfyldt, og hvis det ikke er, så skal det skjules når siden printes.

Dette:
<style type="text/css">
@media print {
  input[value=""] { display: none; }
}
</style>

- virker desværre ikke.

Kan nogen hjælpe med et script der kan gøre tricket?

Mvh.
Avatar billede majbom Novice
07. februar 2012 - 13:04 #1
ved ikke om det vil virke sådan, men et textarea er jo ikke et input...
Avatar billede dotcom1 Nybegynder
07. februar 2012 - 13:09 #2
Nej, det virker nemlig heller ikke.

Jeg har også forsøgt noget i denne retning:

<script type="text/javascript">
$(document).ready(function() {
if ($('#printarea').is(':empty')) {
document.write("<link rel=\"stylesheet\" type=\"text/css\" media=\"print\" href=\"/files/print.css\" />");
}});
</script>

- men det kan jeg nu heller ikke få til at virke...
Avatar billede olebole Juniormester
07. februar 2012 - 17:31 #3
<ole>

Det er ganske utestet, da jeg ikke har en printer tilsluttet denne maskine, men prøv noget i stil med dette:

<link id="emptyPrint" disabled rel="stylesheet" type="text/css" href="hide.css">

<script type="text/javascript">
function hide4print(elm) {
    var elmCSS = document.getElementById("emptyPrint");
    elmCSS.disabled = elm.value==="" ? true : false;
}
</script>

<textarea id="foo" onchange="hide4print(this)" ... ></textarea>

I hide.css skriver du så:

#foo { display: none; }

/mvh
</bole>
Avatar billede dotcom1 Nybegynder
08. februar 2012 - 09:32 #4
Olebole, det ser rigtig godt ud, men den skjuler textarea'et også selvom der står noget i det. Jeg har lavet en test her.
Avatar billede dotcom1 Nybegynder
22. februar 2012 - 09:53 #5
Hej.

Jeg har ikke fået det løst, men vil gerne lukke. Læg et svar, Olebole.

Mvh.
Avatar billede olebole Juniormester
22. februar 2012 - 16:21 #6
Ellers tak, jeg samler ikke points. Læg selv et svar og accepter det, så tråden lukkes  =)

Jeg fik vist vrøvlet lidt i mit indlæg. Prøv denne kode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<link id="emptyPrint" rel="stylesheet" type="text/css" href="hide.css">
<script type="text/javascript">
function hide4print(elm) {
    var elmCSS = document.getElementById("emptyPrint");
    elmCSS.disabled = elm.value!=="" ? true : false;
}
</script>
</head>
<body>

<p>Dette burde virke</p>
<textarea id="foo" onchange="hide4print(this)"></textarea>

</body>
</html>

- og i hide.css skriver du:

@media print {
  #foo { display: none; }
}

Det burde virke  =)
Avatar billede dotcom1 Nybegynder
23. februar 2012 - 09:02 #7
Arh, Olebole, det virker!
Mange tak for hjælpen. :-)

Mvh.
Avatar billede olebole Juniormester
23. februar 2012 - 10:29 #8
You're welcome  *o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester