jQuery - Input zu Input

  • Hey,


    Ich wollte das wenn man im Input1 seine Postleizahl eingibt das automatisch via jQuery die Stadt aus der Datenbank in das Inputfeld2 als Value eingetragen wird soweit bin ich nun:


    Die function searchZip



    Der PLZ Input

    PHP
    <input onchange="searchZip();" id="plz" onkeyup="this.value=this.value.replace(/\D/, '');" type="text" name="registration_zipcode" />


    Der Stadtteil input wo das Ergebnis reingefügt werden soll:


    PHP
    <input type="name" name="registration_town" id="town" />


    Die Ajax aufrufende Datei



    <?php
    include("settings.php");


    if(isset($_POST['plz'])) {
    $string = mysql_real_escape_string($_POST['plz']);
    $half_result = mysql_query("SELECT `city_id` FROM `zipcode` WHERE `zipcode` = '$string' LIMIT 1");

    $row = -1;
    if(@mysql_num_rows($half_result)) {
    $row = mysql_fetch_array($half_result);
    $id = $row['city_id'];
    $result = mysql_query("SELECT `name` FROM `city` WHERE `id` = '$id' LIMIT 1");
    }

    echo json_encode(mysql_fetch_array($result));
    }
    ?>


    Was ich nun noch benötige das das json_encode in das Inputfeld mit der id "town" eingeschrieben wird?


    Ich danke euch :)


  • // Edit: ich meinte das dass data war, was zurück kommt. Sollte aber so funktionieren

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Das mit data ist nicht relevant sondern dass eine Variable im ersten Parameter ist.
    Diese wird dann gesetzt.
    $("#town").value = ...;
    geht glaube ich nicht, solltest vielleicht $("#town").attr("value", data.name); probieren.

  • Das mit data ist nicht relevant sondern dass eine Variable im ersten Parameter ist.
    Diese wird dann gesetzt.
    $("#town").value = ...;
    geht glaube ich nicht, solltest vielleicht $("#town").attr("value", data.name); probieren.


    Hey,


    Success wird aufgerufen habe es gerade durch ein alert getestet allerdings steht nichts im Inputfeld drinne


    Hier mal die Includedatei:


  • Das ganze könnte man etwas optimieren:

    PHP
    <?php
        include("settings.php");
    
    
        if(isset($_POST['plz'])) {
            $string = mysql_real_escape_string($_POST['plz']);
                $result = mysql_query("SELECT `name` FROM `city` WHERE `id` = (SELECT `city_id` FROM `zipcode` WHERE `zipcode` = '$string')");
                if(mysql_errno() == 0)  echo json_encode(mysql_fetch_array($result));
            } 
    ?>
  • <?php include("settings.php"); if(isset($_POST['plz'])) { $string = mysql_real_escape_string($_POST['plz']); $result = mysql_query("SELECT `name` FROM `city` WHERE `id` = (SELECT `city_id` FROM `zipcode` WHERE `zipcode` = '$string')"); if(mysql_errno() == 0) echo json_encode(mysql_fetch_array($result)); } ?>


    Haha danke dir sowas hatte ich danach noch vor ? Liegt es am jquery oder php code?

  • dann drück mal STRG+Umschalt+K das die Konsole (in FireFox)

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • dann drück mal STRG+Umschalt+K das die Konsole (in FireFox)


    Hey, danke so schaut sie aus http://prntscr.com/2fvwil ist leider lehr :(


    xGreekz7x; ich habs bisher jetzt so


    Es wird auch gealerted also muss es am php script oder der .attr liegen? Siehst du vlt noch iwas am script?



    ALso nach massiven Tests muss es an der data.name liegen denn gehen wir davona us $_POST wurde nicht gesetzt würde eine Fehlermeldung erscheinen sieher hier


    http://www.rd.nico-wiss.de/registration_plz.php


    Also bräcuhte ich eine richtige einfügung als value @xGreakz7x: oder $this->getuser(); danke euch

    2 Mal editiert, zuletzt von NicoWiss ()