Eigenes Confirm?

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

  • 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!

    Kommentar


    • #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

      Kommentar


      • #4
        Sowas hier?

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

        Kommentar


        • #5
          Original geschrieben von Schnoop
          Sowas hier?

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

          Kommentar


          • #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]

            Kommentar


            • #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]

              Kommentar


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

                Kommentar


                • #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

                  Kommentar


                  • #10
                    ahja

                    Kommentar

                    Lädt...
                    X