Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] onClick i nic się nie zmienia :(
Forum PHP.pl > Forum > Przedszkole
Flapper
Kod
var pkt=25
var str=8
var zr=8
var bd=8
var int=8
var wie=8
var cha=8

//Dodaj siłę
function addstr() {
pkt=pkt-1
str=str+1
}
//Odejmij siłę
function destr() {
pkt=pkt+1
str=str-1
}

document.write("Pozostałe punkty: "+pkt+"<br>")
document.write("Siła: <input type=\"button\" value=\"-\" onClick='destr()'> "+str+" <input type=\"button\" value=\"+\" onClick=\"addstr()\"><br>")
document.write("Zręczność: "+zr+"<br>")
document.write("Budowa: "+bd+"<br>")
document.write("Inteligencja: "+int+"<br>")
document.write("Wiedza: "+wie+"<br>")
document.write("Charyzma: "+cha+"")

PHP:
  1. <?php
  2. (...)
  3. <div class="forms2">
  4. <script language="JavaScript" src="atrybuty.js">
  5. </script>
  6.  
  7. </div>
  8. (..)
  9. ?>

Napisałem sobie taki kodzik JS i zdawać by się mogło że działa bo niby jest Siła: 8 i przyciski + i -, jednak po kliknięciu na jakiś nie ma żadnej reakcji, nic się nie dzieje. sad.gif Cały czas mam 8 Siły i 25 punktów. Zacząłem się uczyć JS 30 min. temu, więc jeżeli popełniłem jakiś banalny błąd to proszę nie krzyczcie na mnie. sad.gif
skowron-line
to moze zobacz co konsola bledow pokazuje i jak sam nie dojdziesz co to jest to wklej blad na tutaj

edit

zrob cos takiego
  1. <script type="text/javascript">
  2. function add(){
  3. var a = 25;
  4. var b = 20;
  5.  
  6. var div = document.getElementById('div');
  7. div.innerHTML = parseInt(a) + parseInt(b);
  8. }
  9. <a href="java script:add();">Dodaj</a>
  10. <div id="div"></div>
  11. </body>


*pisane z palca
mrjozo
java script:
Kod
var pkt=25;
var str=8;
var zr=8;
var bd=8;
var inte=8;
var wie=8;
var cha=8;

function dodaj(atr) {
pkt -= 1;
switch (atr) {
case 'str' :
    str += 1;
    document.getElementById(atr).innerHTML = str;
    break;
case 'zr' :
    zr += 1;
    document.getElementById(atr).innerHTML = zr;
    break;    
}
document.getElementById('pkt').innerHTML = pkt;
}

function odejmij(atr) {
pkt += 1;
switch (atr) {
case 'str' :
    str -= 1;
    document.getElementById(atr).innerHTML = str;
    break;
case 'zr' :
    zr -= 1;
    document.getElementById(atr).innerHTML = zr;
    break;    
}
document.getElementById('pkt').innerHTML = pkt;
}


kod na stroni:
  1. Siła:<div id="str"></div><input type="button" value="-" onclick="java script:odejmij('str')"><input type="button" value="+" onclick="dodaj('str')">
  2. Zręczność<div id="zr"></div><input type="button" value="-" onclick="java script:odejmij('zr')"><input type="button" value="+" onclick="dodaj('zr')">
  3. Punkty<div id="pkt"></div>


mysle ze bedziesz wiedzial jak to analogicznie uzupelnic, aha i onclick malymi literkami, a javascript razem chociaz na forum jest pisane osobno
Flapper
Dzięki wielkie mrjozo. Tylko jest jeden problem kiedy strona się załaduje są same przyciski trzeba wcisnąć + albo - wtedy dopiero pojawia sie 9 albo 7 :< Wiesz może jak to zmienić?
mrjozo
Po prostu w divach wpisz potrzebne wartości:
Kod
<div id="str">9</div>
<div id="ze">8</div>
Flapper
Działa! smile.gif Dzięki! Fajnie że tyle tu ludzi skorych do pomocy. smile.gif Ale jest jeszcze jedna sprawa z którą mam problem. Zrobiłem ograniczenie żeby nie można było zjechać z punktami poniżej 0. Ale chciałbym jeszcze zrobić tak żeby nie można było zmniejszyć atrybutu bardziej niż do 3 ani zwiększyć powyżej 18.
Ograniczenie punktów okazało się być bardzo proste ale z tym ograniczeniem wartości atrybutów kombinuję kombinuję i nie mogę wykombinować. sad.gif
Mój aktualny kod:
Kod
var pkt=25;
var str=8;
var zr=8;
var bd=8;
var inte=8;
var wie=8;
var cha=8;

function dodaj(atr) {
if (pkt > 0) {
pkt -= 1;
switch (atr) {
case 'str' :
    str += 1;
    document.getElementById(atr).innerHTML = str;
    break;
case 'zr' :
    zr += 1;
    document.getElementById(atr).innerHTML = zr;
    break;    
}
document.getElementById('pkt').innerHTML = pkt;
}
else
{
    alert('Nie masz dosc punktow')
}
}

function odejmij(atr) {
pkt += 1;
switch (atr) {
case 'str' :
    str -= 1;
    document.getElementById(atr).innerHTML = str;
    break;
case 'zr' :
    zr -= 1;
    document.getElementById(atr).innerHTML = zr;
    break;    
}
document.getElementById('pkt').innerHTML = pkt;
}
mrjozo
Kod
function dodaj(atr) {
if (pkt > 0) {
pkt -= 1;
switch (atr) {
case 'str' :
    if(str >=18 ) { pkt += 1; return; } /* moze tutaj byc alert lub cos innego, przy return po prostu nie robi nic dalej */
    str += 1;
    document.getElementById(atr).innerHTML = str;
    break;
case 'zr' :
    if(zr >=18 ) { pkt += 1; return; }
    zr += 1;
    document.getElementById(atr).innerHTML = zr;
    break;    
}
document.getElementById('pkt').innerHTML = pkt;
}
else
{
    alert('Nie masz dosc punktow')
}
}

function odejmij(atr) {
pkt += 1;
switch (atr) {
case 'str' :
    if(str <=3 ) { pkt -= 1; return; }
    str -= 1;
    document.getElementById(atr).innerHTML = str;
    break;
case 'zr' :
    zr -= 1;
    if(zr <= 3 ) { pkt -= 1; return; }
    document.getElementById(atr).innerHTML = zr;
    break;    
}
document.getElementById('pkt').innerHTML = pkt;
}
Flapper
Działa! Gra gitara guitar.gif. Dzięki ci! :pokłon: laugh.gif laugh.gif laugh.gif Mam jeszcze drobne problem z dopasowaniem bo przyciski powinny być na tej samej linii co liczba ale chyba poradzę sobie już dalej sam. Jeszcze raz dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.