Javascript-forum
Felder aktualisieren mit Onchange/onblur - Druckversion

+- Javascript-forum (https://javascript-forum.de)
+-- Forum: Entwicklung (https://javascript-forum.de/forumdisplay.php?fid=4)
+--- Forum: Javascript (https://javascript-forum.de/forumdisplay.php?fid=6)
+--- Thema: Felder aktualisieren mit Onchange/onblur (/showthread.php?tid=1386)

Seiten: Seiten: 1 2


Felder aktualisieren mit Onchange/onblur - delfin - 02.09.2022

Hallo Zusammen

Ich bin neu hier im Forum. Bin nicht sicher ob ich richtig bin oder nicht.

Ich habe ein Formular erstellt, welche 3 ComboBox Felder haben und 2 Eingabefelder. Klickt man auf Absenden, funktioniert das Formular korrekt.
Nun möchte ich, dass wenn jemand im Feld "Unterkunft" was auswählt, sich der Wert der Spalte "von" sich aktualisiert.
Ich dachte ich könnte dies mit einem einfachen JavaScript machen.
Der ganze Code des Formular habe ich euch auf den folgendem Link platziert.
Was muss ich ändern, dass das aktualisieren geht beim verlassen/ändern des Feld "Unterkunft".

Freundliche Grüsse
Yves


RE: Felder aktualisieren mit Onchange/onblur - admin - 02.09.2022

Wenn du bei Unterkunft was auswählst, musst du z. B. mit Javascript den Inhalt an ein PHP Script schicken und da die Ergebnisse die du bei von erwartest abfragen und da wieder einsetzen.

Das geht mit Javascript, jQuery oder mit der fetch API.
Du könntest auch ein Affenformular da raus erstellen.
Dann würde bei der Auswahl die Seite neu laden, mit den neuen erwarteten Ergebnissen die du in von haben willst.


RE: Felder aktualisieren mit Onchange/onblur - delfin - 02.09.2022

Danke für die Antwort
Ich habe bereits ein JavaScript geschrieben und auch ins Formular angehängt. Aber es passiert nicht.
Ich habe den Code als Link in meinem letzten Beitrag geschrieben.
Wie würde der JavaScript aussehen.
Was ist ein Affenformular


RE: Felder aktualisieren mit Onchange/onblur - admin - 02.09.2022

Wie lange lernst du schon PHP ?

Ein Affenformular ruft sich selber auf und brauch kein Javascript.
https://php-de.github.io/jumpto/affenformular/

Mit Javascript und Ajax ruft man eigentlich eine andere Datei, auf, die nur das zurückgibt, was man brauch.
Hatte damals schon mal ein Beispiel gemacht.



Das musst du nur noch auf dein Code anwenden.
Da du jQuery nicht benutzen willst, musst du das noch auf fetchapi umbauen.
http://www.smartredirect.de/redir/clickGate.php?u=gE3hKr8J&m=1&p=Sctz4L1m2E&t=mB5qu618&st=&s=&url=https%3A%2F%2Fwww.digitalocean.com%2Fcommunity%2Ftutorials%2Fhow-to-use-the-javascript-fetch-api-to-get-data-de&r=https%3A%2F%2Fwww.php.de%2Fforum%2Fwebentwicklung%2Fjavascript-ajax-und-mehr%2F1604225-formular-aktualisiert-wert-nicht
Fetch API ist nicht mein Lieblingsthema , da ,musst du selber versuchen das, anzuwenden , da habe ich gerade keine Zeit zu mich da einzulesen.

In den PHP Script musst du die Daten zurücksenden, die in das neue  <select> reinsollen


RE: Felder aktualisieren mit Onchange/onblur - admin - 02.09.2022

Mit dem Mini Beispiel solltest du es ja hinbekommen.
1. Auswahl des erstens Dropdown wird zum PHP Script geschickt.
2. Das PHP Script holt die Daten aus der Datenbank. Die Daten schickt man eigentlich im JSON Format zurück.(habe ich damals nicht so gemacht).
3. Die Daten werden vom JS Script empfangen und dann zum zweiten Dropdown Menü eingefügt.

Du musst das jetzt auf deine Dropdown anwenden und natürlich das PHP Script dahinter erstellen.
Du solltest auch alle Hinweise beachten, die du im PHP Forum schon bekommen hast, weil mit den ganzen Fehlern, die dein Script, hat, ist das natürlich Murks.

Ps:
Denk dran, Crossposting ist verboten in den meisten Foren. Wenn die dich im PHP Forum erwischen, dass du woanders schreibst, könnte dein Thema da geschlossen werden.


RE: Felder aktualisieren mit Onchange/onblur - rzscout - 02.09.2022

Hi delfin,
willkommen hier im Forum. Ja du kannst gerne die Fragen hier stellen. Hier handelt es sich um ein JavaScript-Forum, aber hier können auch im Forum zu PHP und MySQL Fragen gestellt werden. Meist verwendet man dies in Kombination.

Zu deiner Frage: Die Aktualierung kannst du mithilfe von Ajax ermöglichen. Dabei werden die Daten dazu extern in eine PHP-Datei verarbeitet und dann via Ajax geladen.


RE: Felder aktualisieren mit Onchange/onblur - delfin - 03.09.2022

Danke für die Antwort
Habe mir die JavaScript Datei angesehen. Dieser sieht sehr komplex aus.
Mein JavaScript sieht so aus und macht eben leider nichts

Code:
<head>
<script type="text/javascript">
function unterkunft()
{
document.fauswahl.submit();
$u= $_POST["u"];
}
</script>
</head>

So habe ich den JavaScript eingebunden
PHP-Code:
echo '<form name="fauswahl" id="fauswahl" action="" method="POST">';
echo 
'<tr>';
echo 
'<td>Unterkunft</td>';
echo
'<td><select onchange="unterkunft()" name="u" id="u" size="1" >'

Ich verzweifle.
Früher war JavaScript einfacher um Daten zu prüfen und das Formular wieder anzuzeigen als heute.


RE: Felder aktualisieren mit Onchange/onblur - admin - 03.09.2022

Was hast du eingebunden ?
du sollst mein Script nehmen.
Id anpassen auf dein erstes <select>
Dann eine PHP Datei erstellen, wo du die daten für das 2te select holst. In den Php Script baust du das select mal zusammen.
Du siehst doch bei meinen Script wie das geht , da ist nichts komplex.

Was soll der Code den jetzt?
Code:
Gib dein ersten select eine id zb auswahl1
und füge das js an ende des codes ein

echo '<form name="fauswahl" id="fauswahl" action="" method="POST">';
echo '<tr>';
echo '<td>Unterkunft</td>';
echo'<td><select onchange="unterkunft()" name="u" id="u" size="1" >';

Das hat mit meinen Script auch gar nichts zu tun.
Und lass die Echos Suppe weg, das brauch man nicht .


Gib dein ersten select eine id zb auswahl1
und füge das js an ende des codes ein ( hinter den ?> )


Code:
<script>
$('#auswahl1').change(function(){
      $.ajax({
         type: 'POST',
             url: '/beispiele/php_abfrage.php',
             data: {auswahl:$(this).val()},
             success: function(data){
                 $('#auswah2').html(data);
             }
      });
})
Erstelle eine PHP Datei namens php_abfrage.php
Da fragst du die übergebene Werte ab und baust mit den Daten aus der
DB eine selkct menü zusammen.
ZB so
Code:
echo '<option value=""bla">bla</option>';

Gebe dein zweiten
select Menü die ID auswahl2

Dann sollte das auch klappen.
Ich glaube, du hast überhaupt keine Ahnung, was du da machst, oder?
Kopierst irgendwelche Javascript Codes da rein, die kein Sinn ergeben und so weiter.
Nimmst keine Hinweise entgegen, die man dir sagt.


RE: Felder aktualisieren mit Onchange/onblur - delfin - 03.09.2022

Das heisst ich muss mein Formular in 2 Dateien machen und kann es nicht in der gleichen Datei machen.
Mein Formular ist mittels include eingebettet auf die Startseite.


RE: Felder aktualisieren mit Onchange/onblur - rzscout - 03.09.2022

(03.09.2022, 12:52)delfin schrieb: Das heisst ich muss mein Formular in 2 Dateien machen und kann es nicht in der gleichen Datei machen.
Mein Formular ist mittels include eingebettet auf die Startseite.

Jaein, das Formular erstellst du dynamisch mit JavaScript und die Daten dazu holst du dir via Ajax aus der PHP.