Dropdownfeld auslesen und mit AJAX und JS an PHP senden
Hallo zusammen,
ich versuche gerade die Auswahl eines Dropdown Menüs in eine Variable schreiben zu lassen und Sie mir nach PHP zu übertragen damit ich damit weiterarbeiten kann. Nachdem ich diese in PHP behandelt habe soll diese wieder auf meiner Seite ausgegeben werden. Das alles am besten in Echtzeit!
Hier mein Dropdownfeld
Mein JS versuch
Habe eben noch das hier mit aufgenommen und probiere gerade damit rum:
Meine PHP verarbeitung
Irgendwie scheint das alles nicht zu funktionieren ... Kann mir jemand Helfen? Was mache ich falsch? Habe ich einen Falschen Ansatz?
Danke schon jetzt für euere Hilfe!
Gruß
Florian
ich versuche gerade die Auswahl eines Dropdown Menüs in eine Variable schreiben zu lassen und Sie mir nach PHP zu übertragen damit ich damit weiterarbeiten kann. Nachdem ich diese in PHP behandelt habe soll diese wieder auf meiner Seite ausgegeben werden. Das alles am besten in Echtzeit!
Hier mein Dropdownfeld
<div class="content animate-panel">
<div class="Row2">
<div class="col-lg-12">
<div class="hpanel hyellow">
<div class="panel-heading">
<div class="panel-tools">
<span class="badge badge-warning">BI: <?php echo $erg_1 ?></span> //Ausgabe wieder aus PHP
<a class="showhide"><i class="fa fa-chevron-up"></i></a>
</div>
<h3>1. Allgemein</h3>
</div>
<div class="panel-body">
<form name="Formular_1" class="form-horizontal" method="post">
<div class="form-group">
<label class="col-sm-6 controle-label">
Erfüllt das Bauteil und / oder das Befestigungselement seine Funktion ohne Probleme? <br>
</label>
<div class="col-sm-2">
<select name="Auswahl111" id="Auswahl111" class="form-control m-b">
<option value="Auswahl">Auswahl</option>
<option value="Ja">Ja</option>
<option value="Nein">Nein</option>
<option value="n.r.">n. r.</option>
</select>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
function onSelectChange(){
//$(document).ready(function chk() { //andere (alter) Test
//$('select.status').on('change',function(){ //andere (alter) Test
//var Auswahl121 = document.getElementById('Auswahl111');
var Auswahl111 = document.getElementById('Auswahl111');
var Auswahl121 = document.getElementById('Auswahl121');
var dataString='Auswahl111='+ Auswahl111 + 'Auswahl121=' + Auswahl121;
//var index = dropdown.selectedIndex; //andere (alter) Test
//var val = dropdown.options[index].value; //andere (alter) Test
$ajax({
type:"POST",
url:"berechnen.php",
data:dataString,
cache:false,
}).done(function(data){
alert("Erfolgreich:" + dataString);
}).fail(function() {
alter("Fehler!");
}).always(function() {
alter("Beendet");
});
}
Habe eben noch das hier mit aufgenommen und probiere gerade damit rum:
$("#Auswahl111").on("Change", function () {
ajaxanfrage($(this).val());
})
function ajaxanfrage(wahl) {
$.ajax({
url: "berechnen.php",
data: {
Auswahl: wahl
},
success: function (daten) {
$("#Ausgabe").html(daten);
}
});
}
<?php
$erg_1 = 0;
$rech_1 = 0;
$erg_2 = 0;
$erg_3 = 0;
$erg_4 = 0;
$end_erg = 0;
//if ($Teil["Auswahl111"] == "Nein" ) { //anderer Test
// $rech_1 + 6;
// }
//$erg_1 = $rech_1;
if (isset($_POST["Auswahl111" == "Nein" ])){
$rech_1 + 6;
}
Irgendwie scheint das alles nicht zu funktionieren ... Kann mir jemand Helfen? Was mache ich falsch? Habe ich einen Falschen Ansatz?
Danke schon jetzt für euere Hilfe!
Gruß
Florian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 320930
Url: https://administrator.de/contentid/320930
Ausgedruckt am: 19.11.2024 um 20:11 Uhr
7 Kommentare
Neuester Kommentar
Hi,
erstens solltest du die Eigenschaft der Objekte angeben welche du benutzen willst, also anstatt
Zweitens nutzt du im Done-Callback die falsche Variable (dataString) anstatt der, welche an die Funktion übergeben wird (data)!
Drittens im PHP solltest du per echo die Daten zurückgeben.
Siehe auch
JavaScript Variable an PHP per AJAX?
Manuelle Server Status Abfrage.
Gruß
erstens solltest du die Eigenschaft der Objekte angeben welche du benutzen willst, also anstatt
document.getElementById('Auswahl111')
das hier nutzen.document.getElementById('Auswahl111').value;
Drittens im PHP solltest du per echo die Daten zurückgeben.
Siehe auch
JavaScript Variable an PHP per AJAX?
Manuelle Server Status Abfrage.
Gruß
Hallo,
Zu dem glaube ich,
Wenn ich mir das PHP ansehe.... ohne zu wissen was das eigentliche Ziel/Vorhaben ist
Ich würde auf PHP und AJAX (Toilettenreiniger ;)) komplett verzichten !
aber vielleicht verstehe nur ich das Programm nicht ;)
WAS ist das Ziel !?
~Arano
Irgendwie scheint das alles nicht zu funktionieren
Das kann also an einem Programmfehler liegen ODER an deinem Verständnis für das Programm.Irgendwie scheint das alles nicht zu funktionieren
Wieso behauptest du das einfach so ?- Was ist die Aktion die Du durchführst bei der ein anderes Ergebnis/Verhalten herauskommt als du erwartest hast !?
- Mal verwendest du
$ajax({
und mal$.ajax({
was sagt deine Browserfehlerkonsole dazu !? - Du willst unter anderem ein
alert("PHP-Ergbnis")
machen, in deinem PHP-Script wird aber nirgends eine Ausgabe gemacht die zurück- bzw. ausgegeben werden kann. - Ist das hier die Fortführung von
Zu dem glaube ich,
- das du dich hier zu sehr auf ein Detail des Ganzen konzentrierst,
- niemand weiß was du wirklich willst bzw. was das Ziel ist -> niemand weiß wie geholfen werden kann,
- dadurch alle etwas anderes Vorschalgen -> Chaos entsteht.
Wenn ich mir das PHP ansehe.... ohne zu wissen was das eigentliche Ziel/Vorhaben ist
Ich würde auf PHP und AJAX (Toilettenreiniger ;)) komplett verzichten !
aber vielleicht verstehe nur ich das Programm nicht ;)
WAS ist das Ziel !?
~Arano
Zitat von @ITFlori:
Wenn ich im Dropdownfeld "Auswahl111" "Nein" auswähle sollte PHP darauf eigentlich 6 addieren und mit somit keine 0 mehr in dem Feld anzeigen sondern eine 6. Soviel zu meinem Problem ...
Warum addierst du das dann nicht direkt mit JavaScript und gibst es an der entsprechenden Stelle aus??Wenn ich im Dropdownfeld "Auswahl111" "Nein" auswähle sollte PHP darauf eigentlich 6 addieren und mit somit keine 0 mehr in dem Feld anzeigen sondern eine 6. Soviel zu meinem Problem ...
Hi,
na siehst du... DAS ist genau das was ich mir nämlich schon gedacht hatte.
Aber ohne die eigentliche GANZE Aufgabe zu kennen, nicht wissen konnte.
Denk mal drann: Die Jungs aus dem anderem Beitrag hätten dir das evtl. auch schon sagen können. Aber auch die kannten die ganze Aufgabe nicht so das sie dir nur eine __Möglichkeit__ nannten die für den kleinen Teil funktioniert hätte (überdimensioniert) aber eben nicht fürs Ganze.
~Arano
Warum [...] nicht direkt mit JavaScript [...] ?
mhhh das ist tatsächlich eine gute Frage ...Aber ohne die eigentliche GANZE Aufgabe zu kennen, nicht wissen konnte.
Denk mal drann: Die Jungs aus dem anderem Beitrag hätten dir das evtl. auch schon sagen können. Aber auch die kannten die ganze Aufgabe nicht so das sie dir nur eine __Möglichkeit__ nannten die für den kleinen Teil funktioniert hätte (überdimensioniert) aber eben nicht fürs Ganze.
Zu dem glaube ich,
Wenn ich mir das PHP ansehe.... ohne zu wissen was das eigentliche Ziel/Vorhaben ist
Ich würde auf PHP und AJAX (Toilettenreiniger ;)) komplett verzichten !
aber vielleicht verstehe nur ich das Programm nicht ;)
- das du dich hier zu sehr auf ein Detail des Ganzen konzentrierst,
- niemand weiß was du wirklich willst bzw. was das Ziel ist -> niemand weiß wie geholfen werden kann,
- dadurch alle etwas anderes Vorschalgen -> Chaos entsteht.
Wenn ich mir das PHP ansehe.... ohne zu wissen was das eigentliche Ziel/Vorhaben ist
Ich würde auf PHP und AJAX (Toilettenreiniger ;)) komplett verzichten !
aber vielleicht verstehe nur ich das Programm nicht ;)
~Arano