Javascript klappt mal wieder nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript klappt mal wieder nicht

    Hallo,

    ich mal wieder, der Mann der JS wohl nie verstehen wird *g*

    Also ich hab mal wieder ein Problem.

    Erstmal HIER der Link zu meinem Script wo ihr euch das Problem in Action anschauen könnt.

    Ihr seht dort die Werte Stärke, Geschick und Intelligenz und deren vorgabewerte (10,0,5)

    Rechts daneben seht ihr, sind 20 Punkte zu vergeben.

    So nun sollte auch schon klar sein um was es geht

    Durch die Buttons "-" und "+" soll man jeweils einen der restlichen 20 Punkte verteilen oder wieder wegnehmen können.

    Einmal Pro Button tut sich da auch was, nur lässt sich eben jeder Button nur einmal klicken, also an dem was ich da gebastelt hab, scheint was grundlegend falsch zu sein.

    Ja ich hoffe hier kann mir wieder jemand helfen, wie schon so oft, das dieses Script eben funktioniert.

    Quellcode kann sich ja jeder anzeigen lassen beim Link oben, ich kann das Script aber auch gerne hier reinquoten, falls erwünscht.

    Liebe Grüsse, Darky
    - Carpe Noctem -

  • #2
    wenn du sowas unter inkrementieren meinst:
    onClick="this.form.char_str.value=11"
    ist das kein wunder
    so kannst du das feld nur auf 11 setzen!

    außerdem wäre es nett, wenn du eine komplette htmlseite machen würdest

    gruss

    Kommentar


    • #3
      Hi,

      ja das es so nicht geht, soweit bin ich in meiner Erkenntnis auch schon gekommen, darum hab ich ja auch diesen Thread hier erstellt, aber danke für die Bestätigung

      Das OnClick sieht so aus :

      <tr>
      <td align="center" width='50%' style='font-size:13px;border-color:2f4f4f'>
      <font color=black>Intelligenz</td>
      <td align="center" width='50%' style='font-size:13px;border-color:2f4f4f'>
      <input type="text" name="char_int" value="<? echo $char_int ; ?>" size="6"></td>
      <td align="center" width='10%' style='font-size:13px;border-color:2f4f4f'>
      <input type="button" name="absenden" value="-" style='width:30;font-size:11px' onClick="this.form.char_int.value=<? echo $char_int-=1 ; ?>"></td>
      <td align="center" width='20%' style='font-size:13px;border-color:2f4f4f'>
      <input type="text" name="statuspunkte" value="<? echo $statuspunkte ; ?>"></td>
      <td align="center" width='10%' style='font-size:13px;border-color:2f4f4f'>
      <input type="button" name="absenden" value="+" style='width:30;font-size:11px' onClick="this.form.char_int.value=<? echo $char_int+=1 ; ?>">
      </td>
      </tr>
      Liebe Grüsse, Darky
      - Carpe Noctem -

      Kommentar


      • #4
        da du mit javascript arbeitest bringt dir php nur etwas für den startwert... alles andere mußt du mit javascript machen, oder das formular abschicken und mit php neu generieren (die punkte addiere/abziehen)...
        so wie du es momentan machst, geht es nicht anders, weil
        onClick="this.form.char_str.value=11"
        eben immer nur 11 einträgt! dort müßtest du statt der 11 eine funktion aufrufen, die dir den aktuellen wert +1 rechnet, mußt aber auch darauf achten, dass du eine zählervariable hast, damit du weißt, wann die 20 punkte verteilt werden!

        gruss

        Kommentar


        • #5
          Hi,

          also das ganze mit PHP zu lösen, stellt eigentlich kein Problem dar.

          Warum ich versuche es in JS zu machen dürfte auf der Hand liegen, es ist mehr als unschön die Seite nach jedem Klick zu aktualisieren und neu aufzubauen, das ist auch schon der Grund.

          Wie gesagt habe ich von JS leider nicht wirklich Ahnung und die verwendete OnClick Funktion ist auch schon so ziemlich mein ganzes JS Latein da ich bisher nie mehr gebraucht habe.

          Ich denke und damit stehe ich sicherlich nicht alleine da, das eine Lösung in JS ohne ständiges aktualisieren und neuaufbauen der Seite, wesentlich eleganter als Lösung ist.

          Auf Grund meiner Mangelnden Kenntnisse in JS habe ich auch auch schon mehrmals versucht jemanden als Helfer zu gewinnen der diesen Aufgabenbereich übernimmt, jedoch seit Monaten ohne Erfolg.
          Von daher bin ich wohl leider auf die gnädige Hilfe von wissenden Personen in so hilfreichen Foren wie diesem hier, was immer meine erste Adresse ist, angewiesen.

          Darky
          - Carpe Noctem -

          Kommentar


          • #6
            Re: Javascript klappt mal wieder nicht

            onClick="this.form.char_int.value=<? echo $char_int-=1 ; ?>"></td>

            also erstens ist diese syntax ganz für den a****, und zweitens würdest du damit, selbst wenn sie funktionieren würde, immer nur den wert "startwert plus 1" berechnen - also kannst du auf den button ruhig fünfzig mal drücken, da der startwert immer der gleiche bleibt, bleibt auch startwert plus 1 immer das selbe.


            du müsstest stattdessen auf den aktuellen wert 1 draufaddieren.

            theoretisch geht das so:

            document.formname.feldname.value += 1;

            wird in diesem falle aber wahrscheinlich mist ergeben, da value ein string ist, und += 1 dann keine addition im mathematischen sinne ergibt, sondern eine stringverkettung.
            dann müsste also zuerst mal der string in eine zahl umgewandelt werden.


            document.formname.feldname.value = parseInt(document.formname.feldname.value) + 1;
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hi,

              ok so teile davon kann ich nachvollziehen, scheine das ganze jedoch wohl nicht verstanden zu haben.
              Aus deinen erklärungn habe ich dann das gemacht :

              <td align="center" width='10%' style='font-size:13px;border-color:2f4f4f'>
              <input type="button" name="absenden" value="+" style='width:30;font-size:11px' onClick="this.form.char_int.value = parseInt(this.form.char_int.value) + 1; ?>"></td>
              Das ist das Ergebniss davon, wie ich deine Erklärung interpretiert habe, als Resultat passiert aber garnix bei Klick auf diesen Button.
              Wahrscheinlich hab ich wohl was falsch verstanden, würd mich auch wundern wenns anders wäre

              Gruss Darky
              - Carpe Noctem -

              Kommentar

              Lädt...
              X