php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.01.2011, 18:07  
Neuer Benutzer
 
Registriert seit: 30.01.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Murdog befindet sich auf einem aufstrebenden Ast
Standard Variable an PHP übergeben

Ich kenne mich mit Ajax nicht besonders gut aus, brauche es aber bei einer Sache. Ich habe eine Select Auswahl mit den Ländern und wenn ich auf ein Land klicke wird per Ajax noch eine Select Auswahl der Orte angezeigt, jedoch wenn ich das Formular abschicke wird die Ort ID nicht übergeben?
Die Auswahl Funktionert auch

Code:
<script type="text/javascript">
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","show/dropdown.php?q="+str,true);
xmlhttp.send();

}
</script>
dropdown.php
PHP-Code:
<?php
$q
=$_GET["q"];
$sql="SELECT * FROM ort WHERE idland = '".$q."'";
$result mysql_query($sql);
echo 
"<select name='ort' class='form'>
<option value=''>Bitte w&auml;hlen...</option>"
;     
      
$query="SELECT * FROM ort WHERE idland = '".$q."'";
      
$ergebnis mysql_query($query) or die("Err.:".mysql_error());
      
//echo ($query);
         
while($row=mysql_fetch_array($ergebnis)){
            echo 
"<option value='".$row["id"]."'>".$row["ort"]."</option>";
         } 
//while $row
 
echo "</select> ";
?>
Die Ausgabe:
PHP-Code:
<select name="land" onchange="showUser(this.value)" class="form">
<?php
      
echo "<option value=''>Bitte w&auml;hlen...</option>";
      
$query="SELECT id, land FROM land";
      
$ergebnis mysql_query($query) or die("Err.:".mysql_error());
      
//echo ($query);
         
while($row=mysql_fetch_array($ergebnis)){
            echo 
"<option value='".$row["id"]."'>".$row["land"]."</option>";
         } 
//while $row
         
echo "</select>";     
?>         
<br />
<div id="txtHint"><b>Vorhandene Orte werden hier angezeigt</b></div>
Ich bitte um Hilfe
Murdog ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.01.2011, 18:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Besitzt Deine "Ausgabe" überhaupt ein form-Element?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 30.01.2011, 18:31  
Neuer Benutzer
 
Registriert seit: 30.01.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Murdog befindet sich auf einem aufstrebenden Ast
Standard

Ja das schon, es werden auch noch mehr Eingaben gespeichert, das ist nur der Teil der nicht gespeichert werden will
Murdog ist offline   Mit Zitat antworten
Alt 06.02.2011, 16:11  
Neuer Benutzer
 
Registriert seit: 04.02.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Sbigi befindet sich auf einem aufstrebenden Ast
Standard

Es war zu viel zum ändern. ich habe Alles umgeschrieben
PHP-Code:
function GetXmlHttpObject() {
     if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject) { // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

  function stateChanged() {
        //alert (xmlhttp.readyState);
        if (xmlhttp.readyState==4)
            {
            //alert (xmlhttp.readyState);
            returntext=xmlhttp.responseText;
            //alert (returntext);
            document.getElementById("txtHint").innerHTML= returntext;
            }
        //alert ("after return");
        }
        
        
    function  showUser() {

            var z=document.getElementById('land');
            var str=z.options[z.selectedIndex].id;

        xmlhttp=GetXmlHttpObject();
        if (xmlhttp==null) {
            alert ("Your browser does not support XMLHTTP!");
            return;
        }
        //alert (xmlhttp);
        var url="show/dropdown.php";
        url=url+"?q="+str;
        //alert (url);
        
      xmlhttp1.onreadystatechange=stateChanged;
      xmlhttp1.open("GET",url,true);
      xmlhttp1.send(null);
      }
      
      
     

     <select name='land' id='land' onchange='showUser()' class='form'>;
      <?
      
// und hier muss du die liste der Bundeslander mit id als option schreiben (wie unten)
     //<option id="Bundesdland id'>Bundes land name</option>
      
?>
      </select>
    <b>Vorhandene Orte werden hier angezeigt</b>
    <div id="txtHint"></div>
file dropdown.php
PHP-Code:
<?//*********************************?>
      <?php
        $q
=$_GET["q"];
        if (isset (
$_GET["q"])) {
            
$q=(int)$_GET["q"]// nehme ich an, q ist integer
        
}
        echo 
"<select name='ort' id='ort' class='form'>";
        
$sql="SELECT * FROM ort WHERE idland =$q";
        
$result mysql_query($sql) or die ('Err: ' mysql_error());
        echo 
"<select name='ort' class='form'>
        <option value=''>Bitte w&auml;hlen...</option>"
;     
        
// Warum wiederholst Du die frage?
        /*$query="SELECT * FROM ort WHERE idland = $q";
        $ergebnis = mysql_query($query) or die("Err.:".mysql_error());
        //echo ($query);*/
         
while($row=mysql_fetch_array($result)){
            echo 
"<option value={$row['id']}>{$row['ort']}</option>";
         } 
//while $row
        
echo "</select> ";
Übrigens Du solltest die Auswahl des users in ein anderes Feld üubergeben, weil der neue Select wird nicht weiter bei absenden übergeben.
Ich weiss nicht, ob Du noch andere Felder in deinem Formular bearbetest, aber am Anfang und Ende solltest öffnen <Form> und dann schliessen </from> haben.

Ich rate dir in Zukunft Ajax nich wie hier zu fuss zu benutzen. Du solltest die bibliotheken jquery.js oder prototype.js benutzen. Es ist dann einfacher un schneller

Geändert von Sbigi (06.02.2011 um 18:12 Uhr).
Sbigi ist offline   Mit Zitat antworten
Alt 07.02.2011, 07:00  
Neuer Benutzer
 
Registriert seit: 30.01.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Murdog befindet sich auf einem aufstrebenden Ast
Standard

Hi,

vielen Dank! Werde es heute Mittag gleich testen, bin gerade erst von der Nachtschicht gekommen. Hab es bis jetzt über cookie gemacht, ist nicht gerade die beste Lösung aber eine andere habe ich nicht gefunden.
Murdog ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Wert einer Variable an einen Link übergeben horni23 PHP Tipps 2010 11 10.04.2010 00:32
Variable an ein Input Feld übergeben. Rubio JavaScript, Ajax und mehr 5 18.03.2010 08:25
Variable einer Seite übergeben Sharker PHP Tipps 2009 6 30.09.2009 11:47
Variable per Session übergeben? Spricht etwas dagegen? Lapje PHP Tipps 2008 6 20.10.2008 21:49
Variable übergeben mit Register Globals off trunky PHP Tipps 2008 32 08.07.2008 20:30
[Erledigt] Variable wird nicht übergeben Thorsten PHP Tipps 2008 8 24.05.2008 11:57
variable übergeben philips PHP Tipps 2006 6 08.01.2006 18:36
[Erledigt] variable ohne form mit submit übergeben PHP Tipps 2005-2 6 06.09.2005 20:34
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
Variable nach $myrow[''] übergeben PHP Tipps 2004 2 20.10.2004 17:56
variable an andere php datei übergeben PHP Tipps 2004 18 19.09.2004 10:09
Variable übergeben me PHP Tipps 2004 14 31.08.2004 18:17
[Erledigt] Variable in URL übergeben, ohne dass man sie sieht? PHP Tipps 2004 4 17.07.2004 10:21
variable per link übergeben PHP Tipps 2004 22 25.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript variable an php übergeben, xmlhttp.open register_globals off, onchange variable an php übergeben, jquery variable an php übergeben, ajax variable an php übergeben, ajax variable an seite übergeben xmlhttp.send, xmlhttprequest variablen, javascript variable an php senden, xmlhttprequest variable an php, httprequest php variable übergeben, javascript select variable in php übergeben, xmlhttprequest php variable, vorhandene variable an seite weitergeben, php auswahlübergabe dropdown onchangein variable, ajax id übergeben, document.getelementbyid an session übergeben, xmlhttp daten übergeben, select option mit ajax übergeben, xmlhttp.responsetext an php gebeb, xmlhttp.send php variable

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum