Avatar billede yezbarh Nybegynder
02. oktober 2005 - 22:15 Der er 13 kommentarer og
1 løsning

Slette input's felt efter action?

Hejsa, jeg har et problem her.

Jeg har i øjeblikket dette:

<form name="beskedform" action="action.php?action=send" target="myaction">

<input type="hidden" name="action" value="send">
<input name="mes" maxlength="100" style="border:1 solid #000000;background:transparent;width:400px;">

</form>




Men efter man trykker enter, reloader den jo ikke siden, hvad gør jeg?
Avatar billede michael_stim Ekspert
02. oktober 2005 - 22:23 #1
<form name="beskedform" action="action.php?action=send" target="myaction">
Er target rigtig her ;o)
Avatar billede yezbarh Nybegynder
02. oktober 2005 - 22:28 #2
Fjerner jeg target, så virker det ikke , underligt.
Avatar billede yezbarh Nybegynder
02. oktober 2005 - 22:30 #3
kan man ikke lave noget ala.
action="fil.php;location.reload();" eller hvordan det nu er?
Avatar billede softspot Forsker
02. oktober 2005 - 22:33 #4
Hvad er det du vil opnå?? Er der andet kode end det der involveret i at reloade siden?
Avatar billede yezbarh Nybegynder
02. oktober 2005 - 22:33 #5
Jeg vil have lavet sådan den reloader siden når man har trykket enter.
Avatar billede softspot Forsker
02. oktober 2005 - 22:37 #6
Uanset hvor man (fokus) befinder sig på siden?

Der er ikke umiddelbart noget der understøtter den funktionalitet i den kode (såvidt jeg kan se og min viden strækker) :)

Jeg ville mene at du har behov for en submit-knap et eller andet sted på formularen. Er det tanken at <input type="hidden" name="action" value="send"> skulle stå for det eller hvad er den til?

Hvad sker der hvis du udskifter

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

med

<input type="submit" name="action" value="send">
Avatar billede yezbarh Nybegynder
02. oktober 2005 - 22:40 #7
Ja, så viser den en submit knap?
Der er ingen fejl i min kode, den skal bare "reloade" siden efter man har trykket enter, jo!
Avatar billede softspot Forsker
02. oktober 2005 - 22:52 #8
Du kan evt. lægge et div element omkring alle felter i formularen som kan fange onkeyup som checker på event-objektet's keyCode og kalder submit på form-elementet, hvis det er 13.

<script type="text/javascript">
function doPost(e) {
  if(e.keyCode == 13) document.forms["beskedform"].submit();
}
</script>

<form name="beskedform" action="action.php?action=send" target="myaction">
  <div onkeyup="doPost(event)">
    <input type="hidden" name="action" value="send">
    <input name="mes" maxlength="100" style="border:1 solid #000000;background:transparent;width:400px;">
  </div>
</form>
Avatar billede yezbarh Nybegynder
02. oktober 2005 - 22:56 #9
<body style="overflow: hidden; margin: 0px;">

<script type="text/javascript">
function doPost(e) {
  if(e.keyCode == 13)
document.forms["beskedform"].submit();
document.getElementById('mes').value = "";
}
</script>

<form name="beskedform" action="action.php?action=send" target="myaction">
  <div onkeyup="doPost(event)">
    <input type="hidden" name="action" value="send">
    <input name="mes" maxlength="100" style="border:1 solid #000000;background:transparent;width:400px;">
  </div>
</form>


Men når jeg bare skriver noget, så fjerner den teksten.
Det skal kun være ved ENTER :)
Og ja, enter er keykode 13!
Men hvorfor gør den det?
Avatar billede softspot Forsker
02. oktober 2005 - 23:01 #10
Det er jo fordi du udører denne linie hver gang du taster noget

document.getElementById('mes').value = "";

hvilket betyder at indholdet slettes i den kontrol. Jeg gætter på at du vil slette indholdet hver gang formularen submittes, hvilket skal gøres således:

<script type="text/javascript">
function doPost(e) {
  if(e.keyCode == 13) {
    document.forms["beskedform"].submit();
    document.getElementById('mes').value = "";
  }
}
</script>

"Og ja, enter er keykode 13!" - hvorfor siger du det?
Avatar billede yezbarh Nybegynder
02. oktober 2005 - 23:02 #11
Jamen, du da for god!
Smid svar, det virker perfekt!
Avatar billede softspot Forsker
02. oktober 2005 - 23:02 #12
eller rettere således:

<script type="text/javascript">
function doPost(e) {
  if(e.keyCode == 13) {
    document.forms["beskedform"].submit();
    document.forms["beskedform"].elements["mes"].value = "";
  }
}
</script>

da din input ikke har noget id...
Avatar billede softspot Forsker
02. oktober 2005 - 23:03 #13
Tak og godt du kunne få det til at fungere... :)
Avatar billede softspot Forsker
02. oktober 2005 - 23:07 #14
Tak for point :)
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