textbox deaktivieren...

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

  • textbox deaktivieren...

    Hi Leute!

    Ich bastle grad an 'nem formular, dass wie folgt aussieht:

    radiobuttonA--------radiobuttonB
    textboxA1------------textboxB1
    textboxA2------------textboxB2
    textboxA3------------textboxB3

    => wenn der user auf radiobuttonA klickt, dann soll er nur in die texboxen A1-A3 was eingeben können und die textboxen B1-B3 sollen deaktiviert sein.

    => wenn der user auf radiobuttonB klickt, dann soll das ganze natürlich umgekehrt sein.

    Es funktioniert schon soweit, dass ich über JS weiß, welchen der beiden Radiobuttons der User gedrückt hat.
    Ich hab allerdings noch keine Lösung dafür gefunden wie ich das mit den textboxen mache.

    Script:
    if(document.itc.itcradio[0].checked == true){
    alert("Sie sind Neukunde!");} //statt dem alert sollte hier der Teil mit den textboxen kommen
    else if(document.itc.itcradio[1].checked == true){
    alert("Sie sind Fondkunde");}
    else{
    alert("Bitte eine Auswahl treffen");}


    Weiters soll noch geprüft werden, ob die Eingabe numerisch ist und ob überhaupt was eingegeben wurde.
    Das numerische funtzt schon, aber ob's leer ist geht noch nicht.
    CODE:
    var chkZ = 1;
    for(i=0;i<document.itc.nk1.value.length;++i)
    if(document.itc.nk1.value.charAt(i) < "0"
    || document.itc.nk1.value.charAt(i) > "9"
    || document.itc.nk1.value.charAt(i) > "") //diese Zeile funtzt so nicht! hab keine ahnung was da nicht paßt!
    chkZ = -1;
    if(chkZ == -1) {
    alert("Nur numerische Werte erlaubt!");
    document.itc.nk1.focus();
    return false;
    }


    Zwecks Mindestbestellmenge (10Stk) soll zu guter Letzt noch geprüft werden, ob die Summe der Eingaben in die Textboxen <=9 ist. Wenn ja soll ebenfalls 'ne Meldung kommen "Mindestbestellmenge beachten!".
    CODE:
    if(document.itc.nk1.value <= 9){
    alert("Die Mindestbestellmenge beträgt 10 Stk.!");
    }

    => ich weiß nicht wie ich das machen soll, dass JS die Summe aller 3 Eingabefelder bildet und checkt ob die <=9 ist.

    Hab't ihr 'nen Lösungsvorschlag??
    <<<bin am verzweifeln>>>

    [Editiert von Metallica am 02-02-2002 um 14:33]
    $PHP resource 4ever$

  • #2
    sodala.
    hab über's weekend wieder jede menge an meinem script herumgebastelt.
    langsam aber sicher kommen wir der lösung ziemlich nahe:

    SCRIPT (bei klick auf SUBMIT):
    <script type="text/javascript">
    function chkItcOrder() {
    if(document.formitc.itcradio[0].checked == true){ //radiobutton 1 wurde ausgewählt
    //wie gebe ich die jeweiligen textboxen frei??
    window.document.forms[0].elements[1].focus();
    }
    else if(document.formitc.itcradio[1].checked == true){ //radiobutton 2 wurde ausgewählt
    window.document.forms[0].elements[1].focus();}
    else{
    alert("Bitte eine Auswahl treffen");
    return false; //kein action durchführen
    }

    //zahlencheck funtzt
    var chkZ = 1;
    for(i=0;i<document.formitc.itc5.value.length;++i)
    if(document.formitc.itc5.value.charAt(i) < "0"
    || document.formitc.itc5.value.charAt(i) > "9")
    chkZ = -1;
    if(chkZ == -1) {
    alert("Nur numerische Werte erlaubt!");
    document.formitc.itc5.focus();
    return false;
    }

    //summenbildung funtzt nicht
    var summe = (document.formitc.itc5.value)+(document.formitc.itc10.value)+(document.formitc.itc20.value);
    if (summe <= 9) {
    alert("Bitte geben Sie eine Mindestbestellmenge von 10 Stück an.");
    return false;
    }

    } //end function
    </script>



    ERLÄUTERUNG/BUGS:
    meine texteingabefelder sehen wie folgt aus:
    <input type="text" name="itc5" size="3" maxlength="5">
    <input type="text" name="itc10" size="3" maxlength="5">
    <input type="text" name="itc20" size="3" maxlength="5">

    1) die Summe bildet JS noch überhaupt nicht
    => wenn ich die Summe bilde, dann kann ich mir den Teil mit ...charAt[i] == "" sparen. es genügt wenn ich nur eine numerische eingabe erlaube und die summe mind. 10 sein muss. es kann ja sein, dass der user nur in eine textbox 14 eingibt. dann brauch ich die anderen beiden nicht mehr auf "" prüfen.

    2) ich müßte meine textboxen (itc5/10/20) defaultmäßig auf readonly stellen und dann je nach ausgewählten radiobutton entweder die einen oder die anderen freigeben. aber wie kann ich mit dem befehl "window.document.forms[0].elements[1].focus();" die jeweiligen textboxen ansprechen??
    $PHP resource 4ever$

    Kommentar


    • #3
      na bidde.
      laßt mich nur schmoooooren. nur recht so.
      werd ich mir merken!

      NEIN - alles zurück.
      war gut so.
      hab's inzwischen komplett allein gelöst. war zwar schwerarbeit aber es funtzt.




      => das war übrigens der erste thread wo nichtmal schmalle sich mit mir anlegen wollte
      $PHP resource 4ever$

      Kommentar


      • #4
        mir wurde etwas "anders" als ich dein quell-code-gewurschtel sah
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          yooooooo, schmalle.
          Endlich! bist mir schon abgegangen.

          hab jetzt alles in funktionen mit übergabeparameter gepackt.

          => halber code und leicht leserlich

          hast du's also doch gelesen und mir nix gesagt du keks!!

          wollt schon im off-topic eine schmalle-vermißenanzeige aufgeben.
          $PHP resource 4ever$

          Kommentar


          • #6
            we had weekend ... da antworte ich nicht
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              jaja. ich weiß eh
              $PHP resource 4ever$

              Kommentar

              Lädt...
              X