Beiträge von Berndi

    Hallo Experten,

    ich versuche hier gerade einen Datensatz aus einem Formular auszulesen, um ihn später dann per AJAX weiter zu verarbeiten.

    Einschlägige Seiten schlagen hier vor, alle Formulardaten mit der Funktion


    Code
    $("#form-ID").serialize();

    oder


    Code
    $("#form-ID").serializeArray();


    in eine Variable zu schreiben und diese dann im AJAX zu übergeben.

    Bei mir bleibt die Variable aber leer, der Befehl liefert keine Inhalte.

    Hier mein Formular:



    ...und hier das Script zum Auslesen der Formularinhalte:


    Kann mir jemand erklären, was ich falsch mache?

    Habe es hinbekommen.

    Ich musste vor die Klassenbezeichnug das div schreiben.
    Ohne hat es seltsamerweise nicht funktioniert.


    Danke für deine Hilfe.
    Ich weiß das wirklich zu schätzen.

    Leider funktioniert auch dieser Code nicht.

    Ich habe das Gefühl, als würde .scrollLeft(x) einfach nicht funktionieren. :(

    Der Wert ist innerhalb der Funktion vorhanden, korrekt übergeben.
    Das wurde ja mit alert(middle) verifiziert.

    Es gibt im Caroussell ja mehrere div.block-row-left, -middle und -right.

    Deshalb habe ich auch schon versucht es etwas differenzierter anzugeben.

    Das hatte aber auch keinen Effekt.

    Ich bin hier echt am Haare raufen.

    Hallo Experten,

    ich verzweifle hier daran, einem Content nach dem reload die ursprüngliche Position des Scrollbalkens zu übergeben.

    Meine Arbeit bisher sieht folgendemaßen aus:

    Die index.php enthält:

    Der Content, dessen Pfad in der Variable contentPath gespeichet ist, enthält folgenden code:



    Ich frage quasi nach jedem mal, wenn die Maustast losgelassen wird ab, an welcher Position sich die Scrollbalken befinden uns speichere sie in den Variablen left, middle und right.

    Nach jedem refresh existiert zwar der Variablenwert (wird im alert ausgegeben), wird aber nicht durch die .schrollLeft(x) Funktion an den Scrollbalken zurückgegeben.

    Was mache ich falsch?

    Das gesamte Projekt lasst sich hier betrachten.

    Bin für jede Hilfe dankbar.

    Gruß,
    Berndi

    Hallo Experten,


    auf meiner Webseite habe ich eine Art Kontextmenü für die dort abgebideten Buttons erstellt.

    Jetzt habe ich das Problem, dass dieses Kontextmenü - gemäß meiner Einstellungen) immer an der gleichen Position, relativ zum Cursor angezeigt wird und so am Bildschirm, bzw. Fensterrand verdeckt wird.


    Wie kann ich das einstellen, dass das Kontextmenü immer innerhalb des sichtbaren Bereichs erscheint und gegebenenfalls die relative Position zum Cursor anpasst.


    Das Problem kann hier (https://tinyurl.com/yyb7497a) und hier (https://tinyurl.com/yy8yl4om) besichtigt werden.


    Gruß,

    Berndi

    Gut, habe noch ein wenig recherchiert und eine "typische" jQuery-Einbindung gefunden.
    Jetzt sieht das bei mir so aus:


    <head>

    <script>  

      $(document).ready(function() { 

       $('#ParadenLogin').submit(function() { 

        $.post( './lib/loginscript.php', $(this).serialize(), function(data) { 

         $('#response').html(data); 

         }) 

        .fail(function () { 

         alert( "Fehler" ); 

         }); 

       }); 

     }); 

    </head> 

    <body>

    <nav class="navbar navbar-inverse navbar-fixed-bottom"> 

     <div class="container" style="display: flex; justify-content: space-between;"> 

      <div id="navbar" class="navbar-collapse collapse"> 

       <form id="ParadenLogin" class="navbar-form navbar-right"> 

        <div class="form-group">

         <input Type="text" name="username" placeholder="Benutzer" class="form-control">

        </div> 

        <div class="form-group"> 

         <input type="password" name="password" placeholder="Passwort" class="form-control"> 

        </div> 

        <input type="hidden" name="action" value="login"> 

        <input type="hidden" name="json" value="true"> 

        <button type="submit" name="absenden" class="btn btn-success">Anmelden</button> 

       </form> 

      </div><!--/.navbar-collapse --> 

     </div> 

    </nav> 

    <div id="response"></div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">

    </script> <script src="./js/bootstrap.min.js"></script>

    </body>


    Leider funktioniert es nicht. :(
    Der "response"-Container bleibt leer.

    Habe den Fehler entdeckt.
    Einer der POST-Variablen war falsch (uid anstatt username)

    Jetzt muss ich nur noch irgendwie herausfinden, wie ich meiner Webseite beibringe, dass ein User eingeloggt ist und was da den Unterschied macht.

    Bedeutet:
    Wie verarbeite ich denn nun das erfolgreiche Login?
    Gibt es irgendwelche Rückgabewerte, die ich abfragen und weiterverwerten kann?

    bzw...

    Wie müsste denn so ein AJAX-Aufruf für dieses Script aussehen?

    Sorry, dass ich so blöd frage...

    Gruß,
    Berndi

    Habe diese Anleitung mit Script gefunden, weil ich genau das gesucht habe. Daenbankverbindung klappt, Registrerung von neuen Nutzern auch. Nur der Login will nicht klappen. Ich bekomme immer "Check your Input!" eingeblendet. Ich habe das Ganze in Verbindung mit Bootstrap folgendermaßen implementiert:


    <nav class="navbar navbar-inverse navbar-fixed-bottom">

    <div class="container" style="display: flex; justify-content: space-between;">

    <div id="navbar" class="navbar-collapse collapse">

    <form action="./lib/loginscript.php" method="POST class="navbar-form navbar-right">

    <div class="form-group">

    <input type="text" name="uid" placeholder="Benutzer" class="form-control">

    <input type="hidden" name="action" value="login">

    </div>

    <div class="form-group">

    <input type="password" name="password" placeholder="Passwort" class="form-control">

    </div>

    <button type="submit" name="absenden" class="btn btn-success">Anmelden</button>

    </form>

    </div><!--/.navbar-collapse -->

    </div>

    </nav>


    Alternativ habe ich versucht das Script direkt einzubinden und die login-Funktion über

    define( "PATH_SOURCE", realpath( dirname( __FILE__ ) ) . '/lib/' );

    include_once(PATH_SOURCE . "loginscript.php");

    if(isset($_POST['ausführen'])) {login();}

    aufzurufen.


    Das hat aber auch nicht geklappt.
    Was mache ich falsch?

    Liebe Grüße,
    Berndi