eine weitere focus schwierigkeit

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

  • eine weitere focus schwierigkeit

    ich hab da ein kleines focus problem. schoen brav hab ich auch schon die bisherigen beitraege durchsucht, doch leider kann ich nirgends eine antwort finden

    das problem: ich möchte eine passwort seite gestalten. den focus hier zu setzten ist kein problem. jetzt gehts aber weiter: wird das passwort richtig gesetzt, soll auf der naechsten seite (chooseaction.php) die auswahl von 2 links ausgegeben werden (bis hier: kein problem), wird das passwort falsch geschrieben, soll auf der gleichen seite (chooseaction.php) statt der auswahl eine fehlermeldung kommen und ein neues eingabefeld MIT CURSOR. hier nun das problem: ich hab "focus()" schon im head definiert und hab im body tag onLoad= ... . wenn ich das passwort falsch eingebe, erscheint die neue eingabe und der cursor blinkt: alles paletti. wenn ich das passwort aber richtig eingebe, erscheint auf der folge die auswahl ganz korrekt, ich krieg aber ne fehlermeldung wegen dem passwort, wahrscheinlich weil focus() mit onLoad vergebens geladen wurde. hier der code:

    head>
    <title>login</title>
    <link rel="stylesheet" href="Styles.css" type="text/css">
    <SCRIPT LANGUAGE="Javascript">
    <!--
    function pwfocus(){
    document.form1.password.focus();
    }
    //-->
    </SCRIPT>
    </head>
    <body onLoad="window.resizeTo(550,550) , pwfocus()">
    <?
    if($verbindung = mysql_connect("localhost")){
    echo "verbunden";
    }

    $Query ="SELECT l_password FROM Mida.lab WHERE l_name='$l_name'";

    if(!($result = mysql_query($Query,$verbindung))){
    echo "Scheisse keine Verbindung";
    }

    if($password==mysql_result($result,0)){
    echo"<h1><a href='user.php'>Save Data </a></h1>";
    echo"<h1><a href='search.php'>Search Data </a></h1>";
    }

    else {echo "<h1> Wrong password !</h1>";
    echo"<h2>","Try again ". $l_name. "</h2>";
    echo "<form name='form1' method='post' action='chooseaction.php'>";
    echo "<input type='password' name='password'>";
    echo "<input type='submit' value='Login'>";
    echo "</form>";
    }
    ?>

    </body>
    </html>



    bitte bitte bitte, wenn irgendjemand eine idee hat,
    es gruesst finn

  • #2
    du darfst pwfocus nur dann aufrufen, wenn du auch das formular anzeigst
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      schon mal vielen dank fuer die antwort. das hab ich probiert, ich wollte die pwfocus funktion in die else schleife einbauen, damit sie erst dort aufgerufen wird, dies hat aber nicht geklappt, die funktion wurde nie ausgeführt???

      Kommentar


      • #4
        das hab ich probiert, ich wollte die pwfocus funktion in die else schleife einbauen,
        code?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          schmeisst die Funktion pwfocus aus <body onload...> raus. Baue in dem else-Zweig den Aufruf der Funktion ein, dann kommt auch keine Fehlermeldung mehr.

          Kommentar


          • #6
            danke, hab ich auch probiert, doch ich weis nicht genau wie ich die funktion aufrufen muss. ich hab "pwfocus()" ins form tag gestellt (passiert nix), habs mit onLoad="pwfocus()" probiert (nix, onload nur für body?) ich hab die zwei varianten mit echo in der else schleife ausprobiert (--> call to undefined function, hilft mir auch nicht weiter). die ganze funktion mit den script-tags in die else-schleife funktioniert auch nicht.

            Kommentar


            • #7
              Re: eine weitere focus schwierigkeit

              Original geschrieben von finn
              wenn ich das passwort aber richtig eingebe, erscheint auf der folge die auswahl ganz korrekt, ich krieg aber ne fehlermeldung wegen dem passwort, wahrscheinlich weil focus() mit onLoad vergebens geladen wurde.
              die fehlermeldung bekommst du deshalb, weil du versuchst, den fokus auf ein element zu setzen, welches (in dem fall) gar nicht existiert.

              dann frag halt in der funktion erst ab, ob das feld existiert, bevor du versuchst den fokus darauf zu setzen:

              if(document.form1 && document.form1.password) { document.form1.password.focus(); }


              btw:

              <body onLoad="window.resizeTo(550,550) , pwfocus()">

              dafür müsste man dich gleich zwei mal schlagen:
              zum ersten für das resizen des fensters, und zum zweiten für die inkorrekte trennung zweiter befehle - dafür nimmt man in JS das semikolon, nicht das komma.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                hei wahsaga,
                vielen dank fuer den tip, so klappt es
                dein gelaber wegen "schlagen" muss ja nicht sein. als newbie bin ich aber auch um die JS tips dankbar.
                der begeisterte Finn

                Kommentar


                • #9
                  Original geschrieben von finn
                  dein gelaber wegen "schlagen" muss ja nicht sein.
                  und dass du das als "gelaber" bezeichnest, muss wohl noch viel weniger sein.
                  dass das mit dem schalgen nicht ernsthaft gemeint ist, sollte klar sein.
                  trotzdem hat zumindest der eine "fehler" einen ernsthafteren hintergrund, deshalb der hinweis.

                  fenster resizen sollte man unter allen umständen vermeiden. gerade für IE-nutzer kann dies sehr ärgerlich sein, weil der IE dann manchmal rumspinnt, und auch alle weiteren fenster in dieser neuen grösse öffnet.

                  und das man befehle in JS mit einem semikolon trennt, gehört zu den absoluten grundlagen, das sollte schon bekannt sein, wenn man dann JS einsetzt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X