---
title: "ibland skickas onClick till adressraden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/170602-ibland-skickas-onclick-till-adressraden"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "orvar"
published: "2008-04-07T21:08:36.000Z"
updated: "2008-04-08T05:53:47.000Z"
replies: 2
views: 441
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/170602-ibland-skickas-onclick-till-adressraden"
---

# ibland skickas onClick till adressraden

## #1 — orvar, 2008-04-07T21:08Z

Hej,

jag har ett litet formulär vars indata jag skickar till en javascript-funktion som sedan behandlar den. Det funkar perfekt när användaren skriver i textfältet och sedan aktivt trycker på OK-knappen (antingen med musen, eller tabbar dit fokus och trycker enter).

Dock fungerar det inte när användaren fortfarande har kvar fokus i textfältet och direkt trycker enter, då "skickas" formulärdatat till adressfältet och inget utförs.

Lite kod:

Formuläret vari användaren skriver sin data.

```
<?php
echo "
 <FORM NAME=\"answerForm\" ACTION=\"\" METHOD=\"GET\">
  <INPUT TYPE=\"text\" NAME=\"userAnswer\" SIZE=37>
  <INPUT TYPE=\"hidden\" NAME=\"questionNbr\" VALUE=\"1\">
  <INPUT TYPE=\"hidden\" NAME=\"status\" VALUE=\"0\">
  <INPUT TYPE=\"button\" NAME=\"button\" VALUE=\"OK!\" onClick=\"submitAnswer(this.form)\">
 </FORM>";
?>
```

 

Javascript-funktionen sumbitAnser() som tar emot datan:

```
function submitAnswer(form) {
 uAnswer = form.userAnswer.value;
 uQuestion = form.questionNbr.value;
 uStatus = form.status.value;
 var url = 'http://www.hemsida.se/displaycontent.php?q=' + uQuestion + '&a=' + uAnswer + '&s=' + uStatus;
 displayContent('quiz',url);
}
```

Javascript-funktionen displayContent():

```
function displayContent(box,url) {
 var httpRequest;

 if (window.XMLHttpRequest) { // Mozilla, Safari, ...
  httpRequest = new XMLHttpRequest();
  if (httpRequest.overrideMimeType) {
   httpRequest.overrideMimeType('text/xml');
   // See note below about this line
  }
 } else if (window.ActiveXObject) { // IE
  try {
   httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
  try {
   httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e) {}
  }
 }
 if (!httpRequest) {
  alert('Giving up :( Cannot create an XMLHTTP instance');
  return false;
 }
 httpRequest.onreadystatechange = function() { listContents(box,httpRequest); };
 httpRequest.open('GET', url, true);
 httpRequest.send('');
}

function listContents(box,httpRequest) {

 try {
  if (httpRequest.readyState == 4) {
   if (httpRequest.status == 200) {
    document.getElementById(box).innerHTML = httpRequest.responseText;
   } else {
    alert('There was a problem with the request.');
   }
  }
 } catch( e ) {
  alert('Caught Exception: ' + e.description);
 }
}
```

När användaren trycker enter och textfältet är markerat blir man alltså ex. dirigerad till adressen: <http://www.hemsida.se/displaycontent.php?q=1&a=Mitt> Svar&s=2

och ingenting händer istället för att scriptet körs igång.

Kan tänka mig att det finns någon enkelt ren HTML-lösning på detta, men tänkte det är lika bra att posta det i javascript forumet då det ändå är lite sån kod inblandad.

Tacksam för hjälp!
/orvar

Permalänk: https://www.webforum.nu/p/170602

## #2 — nitro2k01, 2008-04-08T01:35Z

```
<?php
echo "
 <FORM NAME=\"answerForm\" ACTION=\"\" METHOD=\"GET\" [b]onsubmit=\"submitAnswer(this); return false;\" [/b]>
  <INPUT TYPE=\"text\" NAME=\"userAnswer\" SIZE=37>
  <INPUT TYPE=\"hidden\" NAME=\"questionNbr\" VALUE=\"1\">
  <INPUT TYPE=\"hidden\" NAME=\"status\" VALUE=\"0\">
  <INPUT TYPE=\"[b]submit[/b]\" NAME=\"button\" VALUE=\"OK!\" >
 </FORM>";
?>
```

Permalänk: https://www.webforum.nu/p/2096280

## #3 — orvar, 2008-04-08T05:53Z

det fungerade, tack!

Permalänk: https://www.webforum.nu/p/2096284

---

Tråden på webben: https://www.webforum.nu/amne/javascript/170602-ibland-skickas-onclick-till-adressraden
