Avatar billede benneharli Juniormester
15. november 2007 - 12:46 Der er 18 kommentarer og
1 løsning

increase/decrease

Hey

Jeg skal gerne have lavet en side hvor man med 2 knapper (pil op/pil ned eller noget andet fancy) skal ændre talværdien i et felt.

Der efter når formen (som feltet er en del af) bliver submitet, skal værdien kun sendes hvis den er blevet ændret, ellers skal der ikke gøres noget.

Formen har jeg nogenlunde styr på, men jeg kan bare ikke finde inc/dec knapper nogen steder :-(
Avatar billede jokkejensen Novice
15. november 2007 - 12:51 #1
<input type="text" value="0" id="number" />

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>


JS

funcktion Count(x)
{
var input = document.getElementById("number");
if(input)
{
  var currentNumber = input.value;
  var newNumber = currentNumber + x;
  number.value = newNumber;
}


noget i den stil ? (ikke testet)

/JJ
Avatar billede jokkejensen Novice
15. november 2007 - 12:52 #2
ja, funcktion uden k :)
Avatar billede jokkejensen Novice
15. november 2007 - 13:10 #3
number.value = newNumber; rettes til:

input.value = newNumber;

Så er den vist ved at være der :)
Avatar billede benneharli Juniormester
15. november 2007 - 15:49 #4
Jokke. Har provet med det her:

------------------------------------------
<html>

<head>
<script=JavaScript>
function Count(x)
{
var input = document.getElementById("number");
if(input)
{
  var currentNumber = input.value;
  var newNumber = currentNumber + x;
  input.value = newNumber;
}
</script>
</head>

<body>

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>

</body>

</html>
-------------------------------------------

men det giver mig bare en fejl

-------------------------------------------

function Count(x) { var input = document.getElementById("number"); if(input) { var currentNumber = input.value; var newNumber = currentNumber + x; input.value = newNumber; } ned op

-------------------------------------

hvad er det lige jeg gor galt?
Avatar billede benneharli Juniormester
15. november 2007 - 15:51 #5
Hmm... nu ser det bedre ud...
--------------------------------

<html>

<head>
<script type="JavaScript">
function Count(x)
{
var input = document.getElementById("number");
if(input)
{
  var currentNumber = input.value;
  var newNumber = currentNumber + x;
  input.value = newNumber;
}
}
</script>
</head>

<body>

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>

</body>

</html>
Avatar billede benneharli Juniormester
15. november 2007 - 15:52 #6
Naar jeg loader siden gaar det fint, men naar jeg klikke paa op eller ned, kommer der en fejl... Et objekt var forventet.

Hvordan faar jeg lige vist tallet?
Avatar billede benneharli Juniormester
15. november 2007 - 15:55 #7
<html>
<head>
</head>
<body>

<input type="box" id="number" value=1></input>

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>

<script type="JavaScript">
function Count(x)
{
var input = document.getElementById("number");
if(input)
{
  var currentNumber = input.value;
  var newNumber = currentNumber + x;
  input.value = newNumber;
}
}
</script>

</body>
</html>
Avatar billede benneharli Juniormester
15. november 2007 - 15:55 #8
sker stadig ikke noget med tallet...
Avatar billede benneharli Juniormester
15. november 2007 - 15:58 #9
Nu sker der da et eller andet...
-------------------------------------
<html>
<head>
</head>
<body>

<input type="box" id="number" value=1></input>

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>

<script language="JavaScript">
function Count(x)
{
var input = document.getElementById("number");
if(input)
{
  var currentNumber = input.value;
  var newNumber = currentNumber + x;
  input.value = newNumber;
}
}
</script>

</body>
</html>

---------------------------------------------

Det der sker nu er at jeg faar det her i boksen naar jeg klikker:

1111-11-1-1-111
Avatar billede benneharli Juniormester
15. november 2007 - 17:07 #10
tror vi skal have gang i noget append child eller saadan noget... lyder det helt forkert?
Avatar billede benneharli Juniormester
15. november 2007 - 17:28 #11
ahh.... det er fordi der ikke bliver med tal, men med bogstaver... hvordan er det lige man undgaar det?
Avatar billede benneharli Juniormester
15. november 2007 - 17:33 #12
klaret...
var currentNumber = parseInt(input.value);

smid et svar
Avatar billede roenving Novice
16. november 2007 - 00:48 #13
-- eller

<input type="box" id="number" value=1></input>

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>

<script type="JavaScript">
function Count(x){
  var input = document.getElementById("number");
  input.value = +input.value + x;
}
</script>
Avatar billede roenving Novice
16. november 2007 - 00:51 #14
Hov:

<input type="text" id="number" value=1>

<a href="java script:Count(-1)">ned</a>
<a href="java script:Count(1)">op</a>

<script type="text/javascript">
function Count(x){
  var inp = document.getElementById("number");
  inp.value = +inp.value + x;
}
</script>
Avatar billede benneharli Juniormester
16. november 2007 - 17:22 #15
det bliver vist en deler...
--> Rønving
Igen lækker simplificering - altid rart at lære noget

1: Hvorfor kan du ikke lige "box", og hvorfor skal du ikke have </input> med?
2: +blablabla er altså det samme som parseInt(blablabla)?
3: Er der ikke noget om at man kan deklarere variablen allrede i kontrollen af at den er en værdi? if (var inp = document.getElementById("number")) eller sådan noget?
Avatar billede roenving Novice
19. november 2007 - 08:38 #16
1. type kan være meget forskelligt, men ikke box (se http://www.w3.org/TR/html4/interact/forms.html#h-17.4 !-), og et input-tag har ikke et lukketag, da værdien sættes med en attribut ...

2. Tjah, eller parseFloat, hvis der er et tal, der kan oversættes til et floating point-value ...
+ er en såkaldt unary operator, der ændrer fra en streng til et tal (men der _skal_ være et gyldigt tal i strengen !-)

3. Jo !o]
Avatar billede benneharli Juniormester
15. januar 2008 - 20:55 #17
hey.. ikke nogen der vil have point?
Avatar billede roenving Novice
17. januar 2008 - 01:25 #18
Tjoh '-)
Avatar billede roenving Novice
19. januar 2008 - 14:21 #19
-- og 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