jQuery Funktion erneut ausführen

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Gehe ich recht in der Annahme, dass du bei deinem asynchronen Postback auch den Button austauscht, der die Methode "sortable" triggert und das click-Event nach dem Austausch von "content" mit $('#content').on('DomSubtree... wieder abonnieren möchtest? Wenn ja, hast du dich vergewissert, dass dieses Event auch wirklich gefeuert wird? Hast du mit einem Browsertool, wie Firebug schon mal geschaut, ob nach dem asynchronen Postback auch wirklich ein "onclick" - Attribute auf dem Button zu finden ist?

Da hast du richtig geraten. Das event wird gefeuert. Das eigentliche Problem war nur das ich in der Orders_load.php die geladen wird, die buttons falsch benannt hatte :D

jetzt geht es darum das das mit dem einmal ASC und beim nächten klicken DESC und danach wieder ASC nicht funktioniert. kannst du mir da weiterhelfen?

0
@oelgemeyer

Du deklarierst sie ja bei jedem Eintritt in die Methode neu, oder nicht. Die wird immer zuerst Null oder undefined sein. Deklariere sie außerhalb der Methode und sie wird beim zweiten Aufruf auch noch ihren beim erstmaligen Aufruf zugewiesenen Wert haben.

0
@Marbuel

Mir ist jetzt auch aufgefallen das das total dämlich ist :D

Habe nun vor der Funktion dir mit DESC deklariert und nach der Methode dann überprüft ob sie DESC ist, wenn ja dann in ASC ändern und wenn nicht wieder in DESC ändern. Klappt gut ^^

0

Versuchs mal mit window.setInterval()

Wie kann ich das Jquery Ajax Object auslesen?

Hallo,

ich verschicke ein Formular via Ajax und Jquery.

var xhr = $.ajax({ ... });

Wenn ich mir xhr mit console.log ausgebe, habe ich das Ergebniss aus den beigefügten Screenshots.

console.log( xhr ); gibt ein Object zurück ( readyState: 1 ) Öffne ich das Object, sieht man die Infos, an die ich ran möchte.

console.log( xhr.responseText ); ist aber undefiniert.

Kann mir jemand sagen, wie ich an die Inhalte des Objekts komme?

...zur Frage

Ajax Insert?

Guten Morgen Community,

Ich würde gerne mein PHP Skript über Ajax ausführen.

Soweit hab ich schon alles stehen und die Variablen haben auch den richtigen zugewiesenen Wert jedoch wird beim versenden kein Insert ausgeführt.

Das PHP Skript an sich funktioniert auch, nur halt nicht über Ajax

Kann mir jemand sagen ob in dem Skript ein Fehler ist?

HTML Formular:

<form id="createform" action="../functions/addOrder.php" method="POST">
    <p>
      <input type="text" id ="vorname" name="vorname" class="createOrders" placeholder="Vorname" required>
	</p>
	<p>
      <input type="text" id ="nachname" name="nachname"  class="createOrders" placeholder="Nachname" required>
	</p>
	<p>
      <input type="text" id ="modell" name="modell"  class="createOrders" placeholder="Modell" required>
	</p>
	<p>
      <input type="text" id ="anmerkung" name="anmerkung"  class="createOrders" placeholder="Anmerkung" required>
	</p>
	<p>
	  <textarea rows="10" id ="aufgabe" name="aufgabe" class="createOrders" placeholder="Aufgabe" cols="40" required></textarea>
	</p>
	<p>
	  <input type="number" id ="preis" name="preis" class="createOrders" min="0.00" step="0.01" placeholder="Preis in €" name="notice" required>
    </p>
	<p>
	  <input type="submit" class="search_sub" id="submit" name="send" value="senden">
	</p>
</form>

Js

    $(".createOrder").click(function(){
        $.ajax({
            url: 'html/createOrder.php'
        }).done(function(data) {
            $('.content').html(data).hide(0).fadeIn("slow");
			$("#createform").submit(function(e){
					$("#response").html("").hide(0).fadeIn("slow");
					$.ajax({
						thttp://localhost/Enescom_Order_Panel/functions/addOrder.phpel/functions/addOrder.php",
						data : { 
						Vorname: $("#vorname").val(),
						Nachname: $("#nachname").val(),
						Modell: $("#modell").val(),
						Anmerkung: $("#anmerkung").val(),
						Aufgabe: $("#aufgabe").val(),
						Preis: $("#preis").val(),
						},
						success: function(msg)
						{
						alert($("#preis").val());
						}
					});
			e.preventDefault();
			});    
        });
    });

PHP Skript

<?php
include("dbconnection.php");
$K_ID = rand(1,20000);
$vorname = isset($_POST["vorname"]) ? $_POST["vorname"] : NULL;
$nachname = isset($_POST["nachname"]) ? $_POST["nachname"] : NULL;
$modell = isset($_POST["modell"]) ? $_POST["modell"] : NULL;
$anmerkung = isset($_POST["anmerkung"]) ? $_POST["anmerkung"] : NULL;
$aufgabe = isset($_POST["aufgabe"]) ? $_POST["aufgabe"] : NULL;
$preis = isset($_POST["preis"]) ? $_POST["preis"] : NULL;

  if (isset($_POST["send"]))
  {
    $sql = "INSERT INTO kunden (K_ID,Vorname,Nachname,Modell,Anmerkung,Aufgabe,Preis,Status)
			VALUES ('$K_ID','$vorname','$nachname','$modell','$anmerkung','$aufgabe','$preis',0)";
	  mysqli_query($dbconnection,$sql);
  }
  mysqli_close($dbconnection)
?>

Ich bedanke mich schon einmal im voraus.

Mit freundlichen Grüßen

...zur Frage

JQUERY Button reset nach Funktion?

Hallo,

ich verwende den Code

$("p").click(function () {

Man kann die Funktion nur einmal aufrufen, wie kann ich nach Abschluss der Funktion die Aufgabe neu starten bzw. nochmal Klicken damit was passiert?

...zur Frage

HTML Formular wird nicht ausgeführt in Ajax content?

Hallo,

Folgenden Problem.

Ich habe ein sidebar menü und lasse den content mittels Ajax anzeigen.

Jedoch wenn ich im Content ein Formular ausführen möchte (Auswertung auch über Ajax) bekomme ich keine Reaktion.

Zur Probe habe ich das PHP Skript mal außerhalb des Contents ausgeführt wobei dies auch einwandfrei funktioniert hat.

Script (js)

$(document).ready(function(){
	$(".hide").hide();
    $(".dropbox").click(function(){
        $(".hide").slideToggle("fast");
    });
  $("search").click(function(){
    $.get("../functions/searchOrder.php", function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    });
  });
    $(".order").click(function(){
        $.ajax({
            url: 'html/order.php'
        }).done(function(data) {
            $('.content').html(data).hide(0).fadeIn("slow");
        });
    });
    $(".createOrder").click(function(){
        $.ajax({
            url: 'html/createOrder.html'
        }).done(function(data) {
            $('.content').html(data).hide(0).fadeIn("slow");
        });
    });

//-------------------- Auswertung der Suche----------------------         $("#searchform").submit(function() {             if($("#search").val() == "") {                 $("#response").html("Bitte füllen sie die Suche korrekt aus!").hide(0).fadeIn("slow");         } else {             $("#response").html("aNotes werden geladen...").hide(0).fadeIn("slow")             $.ajax({                 type: "GET",                 url:  "../functions/searchOrder.php", data:  "send=1&search=" + $("#search").val(),                 success: function(msg)                 {                     $("#response").html(msg);                 }             });         }         return false;     });

});

Formular (HTML)

 <form id="searchform" action="../functions/searchOrder.php" method="get">
      <th>
	    <input type="search" class="textbox" id="search" name="search" placeholder="Geben sie eine Kunden ID ein">
      </th>
	  <th>
	  <input type="submit" name="send" class="submit" value="Suchen">
	  </th>
	</form>
...zur Frage

Javascript Click Event vom Hintergrund?

Hallo Leute, Ich hab ein Problem beim Programmieren mit jQuery. Und zwar hab ich theoretisch folgendes aufgebaut:

jQuery:

$("#hintergrund").click(function(){

//hier passiert irgendwas

});

HTML:

Mein Problem ist nun folgendes: Wenn ich im DIV "vordergrund" ins Textfeld klicke, um es auszufüllen, springt er trotzdem in die Clickfunction vom hintergrund ? Was kann ich tun, damit dies nicht passiert?

Vielen Dank schonmal im Vorraus!

...zur Frage

Was möchtest Du wissen?