Avatar billede repsej123 Nybegynder
05. november 2004 - 13:48 Der er 5 kommentarer og
1 løsning

vise/gemme form-felt i tabel

Hejsa

Jeg er ikke så stærk i JavaScript, så jeg håber der er andre der er :-)

Jeg har en form med en tabel og vil gerne kunne gemme(ikke vise) et memo-felt så man kan trykke på en gif og få den udvidet så man kan se memo-feltet.
Det vil være rigtig cool hvos den kan vise feltet hvis det ikke er tomt, og skjule det hvis det er tomt.

Her kommer lidt kode så i kan se hvordan det ser ud indtil videre...

**************

<form action="newhire1.asp" method="post">
<table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr valign="middle">
    <td height="20" width="150"><strong>Name</strong></td>
    <td height="20" width="220"><input type="text" value="<%=RS("navn")%>" size="30" maxlength="100" name="navn"></td>
    <td>Remarks:&nbsp;&nbsp;</td>
    <td><textarea wrap="physical" rows="3" cols="30" name="navn_r"><%=RS("navn")%></textarea></td>
</tr>
</table>
</form>

************
Avatar billede ldanielsen Nybegynder
05. november 2004 - 14:01 #1
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function VisHvisFyldt(){
    f = document.myForm
    if (f.navn_r.value != "") f.navn_r.style.display = "block";
    }

function VisSkjul(strNavn){
    f = document.myForm
    theObjStyle = f.navn_r.style;
    theObjStyle.display = (theObjStyle.display == "none") ? "block" : "none";
    }
//-->
</SCRIPT>

</HEAD>
<BODY onLoad="VisHvisFyldt();">
<form action="newhire1.asp" method="post" name=myForm>
<table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr valign="middle">
    <td height="20" width="150"><strong>Name</strong></td>
    <td height="20" width="220"><input type="text" value="" size="30" maxlength="100" name="navn"></td>
    <td>Remarks: <a href="java script:VisSkjul('navn_r');">Vis/Skjul</a></td>
    <td><textarea wrap="physical" rows="3" cols="30" name="navn_r" style="display: none;">navn</textarea></td>
</tr>
</table>
</form>

</BODY>
</HTML>
Avatar billede repsej123 Nybegynder
05. november 2004 - 15:05 #2
Det viker bare.... hvordan sætter man variablen strNavn ind i:

function VisSkjul(strNavn){
    f = document.myForm
    theObjStyle = f.navn_r.style;
    theObjStyle.display = (theObjStyle.display == "none") ? "block" : "none";
    }

så den kan bruges til flere felter.

Og kan man bruge VisHvisFyldt() til flere forskellige felter uden at lave et script for hvert felt?

Det vil være super kanon knaldhamrende lækkert :-)
Avatar billede repsej123 Nybegynder
05. november 2004 - 15:17 #3
Det vil alt sammen være i samme form, bare forskellige form-felter.
Avatar billede ldanielsen Nybegynder
05. november 2004 - 15:17 #4
function VisHvisFyldt(strNavn){
    theField = eval("document.myForm." + strNavn);
    if (theField.value != "") theField.style.display = "block";
    }


<BODY onLoad="VisHvisFyldt('navn_r');">

ikke testet
Avatar billede ldanielsen Nybegynder
07. november 2004 - 19:08 #5
Tak for det
Avatar billede roenving Novice
08. november 2004 - 14:16 #6
-- og det skal da lige bemærkes, at eval() er en relativ tung funktion at anvende, så hvis der findes alternativer til at tilgå elementer, bør man bruge dem:

function VisHvisFyldt(strNavn){
  var theField = document.myForm.elements[strNavn];
  if (theField.value != "") theField.style.display = "block";
}
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