1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
164
164
EMPFEHLEN
-
29.09.11 05:46 #1
- Registriert seit
- Sep 2011
- Beiträge
- 2
Erst Mal ein Hallo in die Runde, von einem Neuen, aus der Schweiz.
Ich hab folgendes Anliegen:
Es geht um ein Bestellformular.
Ich habe 3 voneinander abhängige select-felder, das zweite vom ersten und das dritte vom zweiten. Befüllt werden sie aus einer mysql-Datenbank.
Das funktioniert soweit einwandfrei.
Damit kann ich nun einen Artikel bestellen, mit den select-Boxen "Lieferant", "Material" und "Grösse".
Ich möchte nun das Formular erweitern, und zwar so, dass man mehrere Artikel vom selben Lieferanten auswählen kann, und zwar in der Art, dass man den Lieferanten nur einmal wählen muss.
Bsp:
- Lieferant -> Material -> Gebinde
- -> Material -> Gebinde
- -> Material -> Gebinde
usw.
So sieht mein bisheriger Code aus:
HTML-Code:<html> <head> <title>Bestellschein</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="javascript" type="text/javascript">
Code javascript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
function getXMLHTTP() { //fuction to return the xml http object var xmlhttp=false; try{ xmlhttp=new XMLHttpRequest(); } catch(e) { try{ xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1){ xmlhttp=false; } } } return xmlhttp; } function getMat(lieferantId) { var strURL="findMat.php?lieferant="+lieferantId; var req = getXMLHTTP(); if (req) { req.onreadystatechange = function() { if (req.readyState == 4) { // only if "OK" if (req.status == 200) { document.getElementById('materialdiv').innerHTML=req.responseText; } else { alert("There was a problem while using XMLHTTP:\n" + req.statusText); } } } req.open("GET", strURL, true); req.send(null); } } function getGeb(lieferantId,materialId) { var strURL="findGeb.php?lieferant="+lieferantId+"&material="+materialId; var req = getXMLHTTP(); if (req) { req.onreadystatechange = function() { if (req.readyState == 4) { // only if "OK" if (req.status == 200) { document.getElementById('gebindediv').innerHTML=req.responseText; } else { alert("There was a problem while using XMLHTTP:\n" + req.statusText); } } } req.open("GET", strURL, true); req.send(null); } }
HTML-Code:</script> </head> <body align="center"> <table align="center" border="0" cellspacing="0" cellpadding="0" style="font-family:verdana; font-size:11;> <form method="post" action="" name="form1"> <tr> <td>
PHP-Code:<?php
include ("db.php");
$query="SELECT id,lieferant FROM lieferant ORDER BY lieferant ASC";
$result=mysql_query($query);
?>Kann mir jemand von euch weiterhelfen? Besten Dank jedenfalls schon mal zum Voraus.HTML-Code:<select style="width:150px" style="font-family:verdana; font-size:11; name="lieferant" onchange="getMat(this.value)"> <option></option> <? while($row=mysql_fetch_array($result)) { ?> <option value=<?=$row['id']?>><?=$row['lieferant']?></option> <? } ?> </select></option> </td> <td><div id="materialdiv"><select style="width:250px" style="font-family:verdana; font-size:11; name="material"><> <option></option> </select></div></td> <td><div id="1"><input style="width:50px" style="font-family:verdana; font-size:11; name="1" value="Anz"></input></div></td> <td> x </td> <td><div id="gebindediv"><select style="width:130px" style="font-family:verdana; font-size:11; name="gebinde"> <option></option> </select></div></td></td> <td><div id="2"><input style="width:100px" style="font-family:verdana; font-size:11; name="2" value="Farbton"></input></div></td> <td><div id="3"><input style="width:100px" style="font-family:verdana; font-size:11; name="3" value="Bemerkung"></input></div></td> </tr> </form> </table> </body> </html>
(Sorry, hab das noch nicht im Griff, mit dem sauberen Formatieren des Beitrages ;-(Geändert von thomas_schweiz (29.09.11 um 05:49 Uhr)
-
Hi
zum Codeformatieren schau dir den Link Codetags in meiner Signatur an.
Allerdings wäre es hilfreich, wenn du den Code nocheinmal reinkopierst,
die Zeileneinrückungen sind nämlich schon verloren gegangen.
Zum Thema: Ich hätte zuerst gesagt "Ajax", aber das kennst du ja schon.
Wo ist jetzt das Problem?
Per JS rausfinden, wenn sich die Auswahl in der ersten Box geändert hat,
per Ajax den Wert übergeben und den Inhalt der zweiten Box bekommen und diese füllen.
PS: Nachträglich Willkommen bei tutorials.de
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
29.09.11 10:33 #3
- Registriert seit
- Sep 2011
- Beiträge
- 2
Hi sheel
Danke Dir für deine Hilfe.
Nun, so wie der Code dasteht, funktioniert er an und für sich auch. Ich habe damit
1 Linie mit 3 Abfragen.
Aber wie baue ich weiter, damit ich in einer 2., 3., 4., ... Linie die selben Abfragen machen kann, ohne jedoch jeweils die erste Abfrage zu wiederholen?
Versteht man was ich meine?
Gruss
Ähnliche Themen
-
select Felder
Von joe69 im Forum JavaAntworten: 2Letzter Beitrag: 26.07.11, 15:28 -
Abhängige select
Von newbi_1 im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 29.03.10, 15:38 -
Select - Felder
Von bastiglasl im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 24.01.05, 09:48 -
Abhängige dynamische <SELECT>
Von Felixaburg im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 15.09.04, 21:27 -
select felder
Von limk im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 12.12.02, 18:21





Zitieren

Login





