Avatar billede mitbrugernavn Praktikant
04. februar 2008 - 17:57 Der er 2 kommentarer og
1 løsning

aflæse form med javascript - ajax

hvordan får jeg javascriptet til at aflæse hvilken form man aktiverer - har følgende forme (men der kan være flere).

hvis man angiver antal i form_1 så kører det - men hvordan hvis man angiver antal i form_2 (eller hvis der f.eks. var mange flere)

window.document.form_1 skal vel være variabel men hvordan ????


<script src="ajax_4.js"></script>

<FORM NAME="form_1" >
Lagkage med jordbær fyld kr. 40,00 <input type="text" name="vare_antal">
<input type="hidden" name="vare_pris" value="40,00">
<input type="hidden" name="vare_id" value="Lagkage med jordbær">


<input value="Go" type="button" onclick="showHint(this.value)">
</FORM>

<FORM NAME="form_2" >
Lagkage med hindbær fyld kr. 50,00 <input type="text" name="vare_antal">
<input type="hidden" name="vare_pris" value="40,00">
<input type="hidden" name="vare_id" value="Lagkage med hindbær">


<input value="Go" type="button" onclick="showHint(this.value)">
</FORM>
<br><br>

<br>


<p>
<div id="txtkurv"><b>her vises resultat</b></div>
</p>

'ajax_4.js

var xmlHttp

function showHint()

vare_antal = window.document.form_1.vare_antal.value;
vare_pris = window.document.form_1.vare_pris.value;
vare_id = window.document.form_1.vare_id.value;

if (vare_antal.length==0)
  {
  document.getElementById("txtkurv").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="nyt_kurv.asp";
//url=url+"?q="+str;
//url=url+"&sid="+Math.random();

window.document.form_1.vare_antal.value = ''
url=url+"?vare_antal="+vare_antal+"&vare_pris="+vare_pris+"&vare_id="+vare_id;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}

function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtkurv").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
Avatar billede w13 Novice
04. februar 2008 - 18:42 #1
<script src="ajax_4.js" type="text/javascript"></script>

<FORM NAME="form_1" >
Lagkage med jordbær fyld kr. 40,00 <input type="text" name="vare_antal">
<input type="hidden" name="vare_pris" value="40,00">
<input type="hidden" name="vare_id" value="Lagkage med jordbær">

<input value="Go" type="button" onclick="showHint(this.form)">
</FORM>

<FORM NAME="form_2" >
Lagkage med hindbær fyld kr. 50,00 <input type="text" name="vare_antal">
<input type="hidden" name="vare_pris" value="40,00">
<input type="hidden" name="vare_id" value="Lagkage med hindbær">

<input value="Go" type="button" onclick="showHint(this.form)">
</FORM>
<br><br>

<br>


<p>
<div id="txtkurv"><b>her vises resultat</b></div>
</p>

'ajax_4.js

var xmlHttp

function showHint(o)
{
vare_antal = o.vare_antal.value;
vare_pris = o.vare_pris.value;
vare_id = o.vare_id.value;

if (vare_antal.length==0)
  {
  document.getElementById("txtkurv").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="nyt_kurv.asp";
//url=url+"?q="+str;
//url=url+"&sid="+Math.random();

o.vare_antal.value = ''
url=url+"?vare_antal="+vare_antal+"&vare_pris="+vare_pris+"&vare_id="+vare_id;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}

function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtkurv").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
Avatar billede olebole Juniormester
04. februar 2008 - 20:27 #2
<ole>

InnerHTML har ikke noget at gøre i Ajax. Ajax er en teknik, der fik sit navn i 2005 ... innerHTML hører derimod til version 4-browserne fra midten af 90'erne:
    http://www.dengodekode.dk/artikler/DOM/no_innerhtml.php

Du bør i stedet bruge tidssvarende DOM-scripting  ;o)

/mvh
</bole>
Avatar billede mitbrugernavn Praktikant
05. februar 2008 - 10:58 #3
super - takker
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