Avatar billede jlk Nybegynder
26. november 2000 - 18:50 Der er 14 kommentarer og
1 løsning

Tøm inputfelt ved submit!!

Har et framesæt hvor jeg har et søgefelt i den ene frame og viser resultatet i en anden - men hvordan får jeg tømt søgefeltet når der klikkes på submit ??
Avatar billede erikjacobsen Ekspert
26. november 2000 - 20:22 #1
Tjah, du skal nok bruge noget javascript. Du skal ved submit fange
onsubmit hændelsen:

<form .... onsubmit=\"return xxx(this.form)\">

og i formen skal du have dit input-felt (lad os sige \"in\") som du plejer van, OG et ekstra
hidden felt (lad os sige \"hid\").

<input type=\"text\" name=\"in\">
<input type=\"hidden\" name=\"hid\">

Når du submitter skal du kopiere fra \"in\" til \"hid\" og slette \"in\", og i din ASP-fil
checker du nu kun på \"hid\" - og glemmer at om \"in\", for den er jo tom ;-) dvs.
din JavaScriptfunktion xxx skal se sådan ud:

  function xxx(f) {
    f.hid.value=f.in.value;
    f.in.value=\"\";
    return true;
  }

Ok?
Avatar billede erikjacobsen Ekspert
26. november 2000 - 20:23 #2
Hmm, måske for en sikkerhedsskyld i stedet for

<form ....name=\"ff\" onsubmit=\"return xxx(document.ff)\">
Avatar billede jlk Nybegynder
26. november 2000 - 20:39 #3
hmm..der sker intet :-(
Avatar billede erikjacobsen Ekspert
26. november 2000 - 21:20 #4
Uha, ja, måske  - jeg har ikke lige prøvet - men jeg tror faktisk navnet
\"in\" er reserveret i JavaScript. Prøv lige et andet navn - ellers sætter jeg
gerne et eksempel i drift, der virker.
Avatar billede jlk Nybegynder
26. november 2000 - 22:11 #5
det virker heller ikke - du må meget gerne lige lavet et lille eksempel :-)
Avatar billede netsrac Praktikant
26. november 2000 - 22:15 #6
<HTML>
<HEAD><SCRIPT LANGUAGE=\"javascript\">
function eraseit()
{
document.search.keyword.value = \'\'
}
</HEAD><BODY>
<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" NAME=\"search\" TARGET=\"dinframe\">
<INPUT TYPE=\"text\" name=\"keyword\">
<INPUT TYPE=\"submit\" VALUE=\"S&oslash;G\" ONSUBMIT=\"java script:eraseit()\">
</HTML>
Avatar billede netsrac Praktikant
26. november 2000 - 22:18 #7
Hm...Erik siger jo noget...


<HTML>
<HEAD><SCRIPT LANGUAGE=\"javascript\">
function eraseit()
{
document.search.keyword.value = document.search.tmp.value;
document.search.tmp.value = \'\';
}
</HEAD><BODY>
<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" NAME=\"search\" TARGET=\"dinframe\">
<INPUT TYPE=\"text\" name=\"tmp\">
<INPUT TYPE=\"hidden\" name=\"keyword\">
<INPUT TYPE=\"submit\" VALUE=\"S&oslash;G\" ONSUBMIT=\"java script:eraseit()\">
</HTML>
Avatar billede erikjacobsen Ekspert
26. november 2000 - 22:27 #8
Prøv http://eksperten.i.hasselager.net/javascript/35300a.htm
Jeg lægger lige kildeteksterne her om et par sekunder.
Avatar billede erikjacobsen Ekspert
26. november 2000 - 22:29 #9
Sorry, netsrac - havde ikke set dine svar. Nå, men her kommer min kode
alligevel ;-)

------------Rammefilen 35300a.htm
<html>
<head>
<title>35300</title>
</head>
<frameset cols=\"200,*\">
<frame src=\"35300b.htm\" name=\"left\">
<frame src=\"35300c.php\" name=\"right\">
</frameset>
</html>

------------venstre ramme 35300b.htm
<html>
<head>
<title>35300</title>
<script language=\"JavaScript\">
<!--
function xxx(f) {
  f.hid.value=f.inn.value;
  f.inn.value=\"\";
  return true;
}
//-->
</script>
</head>

<body bgcolor=\"#FFFFFF\">

<form action=\"35300c.php\" target=\"right\" name=\"ff\" onsubmit=\"return xxx(document.ff)\">
<input type=\"text\" name=\"inn\">
<input type=\"hidden\" name=\"hid\">
<input type=\"submit\">
</form>

</body>
</html>

------------højre ramme 35300c.php
<html>
<head>
<title>35300</title>
</head>

<body bgcolor=\"#FFFFFF\">

<?
  echo \"Feltet er: $hid<br>\\n\";
?>

</body>
</html>





Avatar billede erikjacobsen Ekspert
26. november 2000 - 22:30 #10
netsrac: onsubmit skal være på <form>-tagget. Mit er nemlig afprøvet! ;-)
Avatar billede jlk Nybegynder
26. november 2000 - 22:36 #11
erikjacobsen: takker :)
Avatar billede netsrac Praktikant
26. november 2000 - 22:37 #12
Hm...Jamen så flytter vi den da bare :)
<HTML>
<HEAD><SCRIPT LANGUAGE=\"javascript\">
function eraseit()
{
document.search.keyword.value = document.search.tmp.value;
document.search.tmp.value = \'\';
}
</HEAD><BODY>
<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" NAME=\"search\" TARGET=\"dinframe\" ONSUBMIT=\"java script:eraseit()\"> >
<INPUT TYPE=\"text\" name=\"tmp\">
<INPUT TYPE=\"hidden\" name=\"keyword\">
<INPUT TYPE=\"submit\" VALUE=\"S&oslash;G\">
</HTML>
Avatar billede netsrac Praktikant
26. november 2000 - 22:38 #13
Nå ja du havde vel fortjent de point :)
Avatar billede erikjacobsen Ekspert
26. november 2000 - 22:44 #14
Og så får du her helt gratis forærende en </FORM> og en </BODY>
til fri anvendelse hvor du nu måtte have lyst til at benytte dem.
Til gengæld kan du donere din java script: i onsubmitten til et velgørende
formål, for den er ikke nødvendig (og i visse browsere vist også skadelig).
Endelig checker onsubmit for om der kommer true eller false tilbage for
at afgøre om man submitter eller ej, så det skal man anføre for at være
sikker på at tingene sker som de skal.

Men bortset fra det havde du fuldstændig ret, netsrac!

(-;
Avatar billede netsrac Praktikant
26. november 2000 - 22:51 #15
Du er dælme flink sådan at forære mig HTML tags :)
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
Kurser inden for grundlæggende programmering

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