Avatar billede jonas82 Nybegynder
07. maj 2005 - 16:41 Der er 7 kommentarer og
2 løsninger

Gange et tal fra et input felt med en php var. on the fly

Hej,

Jeg har en php variabel som indeholder en double. Fx.
$phpvar = 10.50;

Den vil jeg så gerne have ganget med et tal som en bruger skriver i et input felt og udskrevet der hvor der står ???. Der skal ganges og udskrives imens brugeren indtaster. Altså uden at reloade siden.

<?
$phpvar = 10.50;
?>
<form>
<input type="text" name="input1">
</form>

Resultat = ???
Avatar billede jonas82 Nybegynder
07. maj 2005 - 16:52 #1
Resultatet skal afrundes til 2 decimaler.
Avatar billede busschou Praktikant
07. maj 2005 - 17:07 #2
Har for nylig svaret nææsten på det samme.
Prøv se om du kan bruge noget af det :o)
http://www.eksperten.dk/spm/615572
Avatar billede jonas82 Nybegynder
07. maj 2005 - 17:29 #3
Kigger på det, ellers har jeg fundet denne funktion som jeg nok kan bruge:

function writeLayer(layerID,txt)
{
  if(document.getElementById)
  {
    document.getElementById(layerID).innerHTML=txt;
  }
  else if(document.all)
  {
    document.all[layerID].innerHTML=txt;
  }
  else if(document.layers)
  {
    document.layers[layerID].document.open();
    document.layers[layerID].document.write(txt);
    document.layers[layerID].document.close();
  }
}
Avatar billede jonas82 Nybegynder
07. maj 2005 - 17:41 #4
Jeg har forsøgt mig med dette, men det udskriver ikke noget:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test side</title>
<script language="JavaScript" type="text/javascript">
function writeLayer(layerID,txt)
{
  if(document.getElementById)
  {
    document.getElementById(layerID).innerHTML=txt;
  }
  else if(document.all)
  {
    document.all[layerID].innerHTML=txt;
  }
  else if(document.layers)
  {
    document.layers[layerID].document.open();
    document.layers[layerID].document.write(txt);
    document.layers[layerID].document.close();
  }
}
function beregn(phpvar, formvar)
{
    writeLayer('resultat', phpvar*formvar);   

</script>
</head>
<?
$phpvar = 10.50;
?>
<form>
<input type="text" name="input1" onChange="beregn(<? echo $phpvar; ?>, this);">
</form>

Resultat = <div id='resultat'> </div>
</html>
Avatar billede jonas82 Nybegynder
07. maj 2005 - 17:51 #5
<input type="text" name="input1" onChange="beregn(<? echo $phpvar; ?>, this.form.input1.value);">

Det virker når man klikker, men hvordan får man den til at opdatere ved at der bliver skrevet i feltet. Jeg ved det kan lade sig gøre ;-)
Avatar billede busschou Praktikant
07. maj 2005 - 19:07 #6
prøv med onkeyup fx
Avatar billede jonas82 Nybegynder
07. maj 2005 - 19:32 #7
Lækkert det virker med onkeyup.

Tak for hjælpen. Lægger du et svar, så deler vi pointene da jeg fik lavet det meste selv ;)
Avatar billede busschou Praktikant
07. maj 2005 - 20:33 #8
selvfølgelig fair nok.. og godt det virker :o)
Avatar billede jonas82 Nybegynder
07. maj 2005 - 20:45 #9
svar
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