Eigenes Confirm?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eigenes Confirm?

    Hallo,

    hat jemand schon mal in Javascript ein eigenes Confirm gebaut? Das Standard-Confirm "return Confirm('Blabla')" find ich nicht toll, und macht auch keinen guten Eindruck. Ich würde gern ein eigenes HTML-Dokument ausgeben wo man Ok, oder Abbrechen anklicken muss damit es weiter geht? Ich finde aber kein Ansatzpunkt wie ich das machen sollen!

    Code:
            var ownConfirmBool = -1;
            function ownConfirm(text)
            {
                var count = 0;
                document.write('<div style="position:absolute; top:10px; left:10px; padding:10px; color:#000; ...">');
                document.write('<input type="button" value="Ok" onclick="ownConfirmBool = 1;" />');
                document.write('<input type="button" value="Abbrechen" onclick="ownConfirmBool = 0;" />');
                document.write('</div>');
    
                // Und nun?
    
            }
    Ein while-schleife bringts auch nicht wirklich, oder? denn dann verabschiedet sich der browser, und das document.write wird nicht ausgegeben solange sich die schleife dreht! Ein Flush wie in PHP gibts wohl nicht, oder?

    Hat jemand eine Idee, wie ich da weiter machen kann, oder gibts dafür keine Möglichkeit?

  • #2
    Glaube fast, das wird nicht klappen. Es gibt ja leider keinen Sleep-Befehl in JS. Vielleicht kannst du ja mit dem onClick-Event des Button was machen, dass du das entsprechend abfängst! Dein Skript kannst du dann natürlich nicht mehr prozedural entwickeln, sondern musst Eventbasiert arbeiten!

    Comment


    • #3
      Eiegentlich kein Problem. Einfaches Div mit ein- und ausblenden und entsprechende Buttons mit Funktionen. Dem kann man dann noch Callback-Funktionen übergeben die anschließend ausgeführt werden und den rest erledigen. Für nen modalen Dialog kann man ja noch nen transparentes Div über das ganze Fenster legen

      Comment


      • #4
        Sowas hier?

        http://www.malsup.com/jquery/block/#dialog

        Comment


        • #5
          Original geschrieben von Schnoop
          Sowas hier?

          http://www.malsup.com/jquery/block/#dialog
          Wieso Ajax? Hat damit ja nicht wirklich was zu tun

          Comment


          • #6
            Original geschrieben von PHP-Desaster
            Glaube fast, das wird nicht klappen. Es gibt ja leider keinen Sleep-Befehl in JS. Vielleicht kannst du ja mit dem onClick-Event des Button was machen, dass du das entsprechend abfängst! Dein Skript kannst du dann natürlich nicht mehr prozedural entwickeln, sondern musst Eventbasiert arbeiten!
            Das ist so nicht ganz richtig.
            [list=1][*]Etwas wie Sleep liesse sich einfach erstellen, löst aber das problem nicht in geringster Weise. Beispiel:
            Code:
            function sleep(ms){
             var e = (new Date()).getTime() + ms;
             while(e > (new Date).getTime()){}
            }
            [*]Um einen Mausklick zu empfangen benötigt man so oder so einen Interrupt. Bei javascript ist hier die einzige Möglichkeit, welche bei fast allen Browsern funktioniert die Nutzung der zur Verfügung gestellten Events[*]Du könntest es, was aber nicht alle Browser vertragen, trotzdem procuderal durchführen, aber du brauchst trotzdem immer einen Interrupt, der die Schleife zu einem Ende bringt.[/list=1]

            Comment


            • #7
              Verabschiede dich einfach von der Idee mit ner Schleife oder sonst wie drauf zu warten - das ist Quatsch.
              Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

              Comment


              • #8
                Was hat denn bitte Block.UI mit Ajax zu tun?!

                Comment


                • #9
                  Original geschrieben von Schnoop
                  Was hat denn bitte Block.UI mit Ajax zu tun?!
                  vorhin war da ein anderer Link oder eine andere Seite hinter deinem Link. Da war alles voller Ajax-Anweisungen

                  Comment


                  • #10
                    ahja

                    Comment

                    Working...
                    X