You are not logged in.

  • Login

1

Monday, May 15th 2006, 6:38pm

Dieser Code ist genau das, was ich die ganze zeit gesucht habe.
Allerdings habe ich da ein kleines Problem, bei dem Du mir
vielleicht helfen könntest.
Und zwar geht es um folgendes:

Ich möchte die 4 Boxen verarbeiten und die Variablen an eine weitere PHP weiterleiten. Wenn ich da jetzt einen "Anschicken" Button und ein zweites "<form method="post" action="suche.php"> einfüge und auf den Button draufklicke, dann passiert einfach nichts.
Hast Du eine Idee wie ich das hinbekommen könnte ??
Danke im Voraus.

slayter

Quoted from ""d0nUt""

finde das beispiel nicht so "schlüssig"

wo werden denn die daten hergeholt? das ist doch nur ein typische beispielanwendung ohne realitätbezug...

hab dir mal noch ein anderes beispiel erstellt


formular.html

wcf.bbcode.html4strict.title

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
67
68
69
70
71
72
73
74
75
76
77
<html><head>
 
<script type="text/Javascript">
function createXMLHttpRequest() {
 
var ua;
 
if(window.XMLHttpRequest) {
    try {
      ua = new XMLHttpRequest();
    } catch(e) {
      ua = false;
    }
  } else if(window.ActiveXObject) {
    try {
      ua = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      ua = false;
    }
  }
  return ua;
}
 
var req = createXMLHttpRequest();
 
function sendRequest(digit) {
// **
// Hier die wichtigen Änderungen. Quelle und Ziel übermitteln
// **
  minus = digit-1;
  inhalt = document.getElementById('source' + minus );
  req.open('get', 'func.php?dest='+ digit + '&s=' + inhalt.value);
  req.onreadystatechange = handleResponse;
  req.send(null);
}
 
function handleResponse() {
 
  if(req.readyState == 4){
    var response = req.responseText;
    var update = new Array();
 
    if(response.indexOf('||' != -1)) {
      update = response.split('||');
      document.getElementById(update[0]).innerHTML = update[1];
    }
  }
  else
  alert("loading" + ajax.readyState);
}</script>
 
 
</head>
<body>
 
<form method="post" action="">
	<div style="float:left" id="select1">
		<select name="source1" id="source1" onChange="sendRequest(2)">
		<option value=""></option>
		<option value="test1">test1</option>
		<option value="test2">test2</option>
		<option value="test3">test3</option>
		<option value="test4">test4</option>
		</select>
	</div>
 
	<div style="float:left" id="select2" name="select2">
	</div>
 
	<div style="float:left" id="select3">
	</div>
 
	<div style="float:left" id="select4">
	</div>
</form>
 
</body></html>


func.php

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
<?
$next = $_GET['dest']+1;
echo 'select'.$_GET['dest'].'|| ';
 
echo '<select name="source'.$_GET['dest'].'" id="source'.$_GET['dest'].'" onChange="sendRequest('.$next.')">';
//Hier sollte eine MySQL FUnktion sein, zum Test reichts aber $_GET['s'] enthält den wert
echo '<option value=""></option>';
echo '<option value="asdasd">asdasd</option>';
echo '<option value="asdasd">asdasd</option>';
echo '<option value="asdasd">asdasd</option>';
echo '</select>';
?>

2

Monday, May 15th 2006, 9:31pm

naja, <form>'s kann man nicht schachteln
was soll den beim abschicken des buttons passieren...

der code behandelt ja nur das ändern der select felder
musst uns schon deinen code zeigen, damit wir dir helfen können

3

Monday, May 15th 2006, 10:31pm

Beim Abschicken des Buttons sollen die felder der Boxen an eine weitere PHP Datei weitergeleitet werden, damit ich einen XML-Request durchführen kann.
Also praktisch wie bei einem ganz normalen Formular, wo die Daten weiterverarbeitet werden. Nach dem die Boxen ausgefüllt worden sind, müsste ich eigentlich nur die <form method> ändern können.
Ich weiss aber leider nicht, wie ich das machen soll.

slayter


Quoted from ""d0nUt""

naja, <form>'s kann man nicht schachteln
was soll den beim abschicken des buttons passieren...

der code behandelt ja nur das ändern der select felder
musst uns schon deinen code zeigen, damit wir dir helfen können

4

Monday, May 15th 2006, 10:38pm

habe das jetzt hinbekommen. habe einfach einne Button eingefüht und in <form method> die entsprechende Datei eingfügt. Vorhin wollte das nicht gehen..jetzt klappt das auf einmal..komisch !!

wie kann ich eigentlich den Abstand zwischen den Einzelnen Boxen ändern ?? Desweitern weiss ich nicht wie ich an die Daten der weiteren Boxen rankomme. Bei der Ausgangsbox ist es ganz einfach. Da steht die Werte in $_POST[source1] drin und wo stehen die Werte in den anderen Boxen ??

slayter


Quoted from ""slayter""

Beim Abschicken des Buttons sollen die felder der Boxen an eine weitere PHP Datei weitergeleitet werden, damit ich einen XML-Request durchführen kann.
Also praktisch wie bei einem ganz normalen Formular, wo die Daten weiterverarbeitet werden. Nach dem die Boxen ausgefüllt worden sind, müsste ich eigentlich nur die <form method> ändern können.
Ich weiss aber leider nicht, wie ich das machen soll.

slayter


Quoted from ""d0nUt""

naja, <form>'s kann man nicht schachteln
was soll den beim abschicken des buttons passieren...

der code behandelt ja nur das ändern der select felder
musst uns schon deinen code zeigen, damit wir dir helfen können

5

Tuesday, May 16th 2006, 10:30am

Hoffentlich ist es dann jetzt richtig verschachtelt, bzw nicht mehr verschachtelt... ;)

Du kannst Die Boxen z.B: in eine Tabelle packen, um sie zu ordnen oder du versuchst es mittels CSS.

6

Tuesday, May 16th 2006, 2:51pm

Quoted from ""slayter""

Desweitern weiss ich nicht wie ich an die Daten der weiteren Boxen rankomme. Bei der Ausgangsbox ist es ganz einfach. Da steht die Werte in $_POST[source1] drin und wo stehen die Werte in den anderen Boxen ??


so wie du sie genannt hast.
in dem beispielcode oben wären es $_POST[source1] - $_POST[source4]

findest übrigens raus, was alles gesendet wird indem du einfach POST ausgibst

PHP Quellcode

1
print_r($_POST);


PS: Schick mal den Validator über deinen Code: http://validator.w3.org/

Similar threads

Social bookmarks