Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 14.08.2007, 19:36   #1
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt
Question

2 Selectfelder im gleichen Formular


Hallo zusammen

Stehe wieder einmal am Berg und komme nicht weiter.
Folgendes Szenario:

2 Selectfelder die sich im gleichen <form> befinden und auch verschiedene Namen haben. Nun möchte ich nach dem senden über POST herausfinden aus welchem SELECT heraus was ausgewählt wurde. und dann dynamisch den übermittelten Inhalt in eine Variable schreiben.

Logischerweise werden ja immer die Werte beider select über POST übermittelt.

In dem Stil:

PHP-Code:
$test1 $_POST[select_1];
$test2 $_POST[select_2];

$test $_POST[select_1oder eben  $_POST[select_2]; 
Wie stelle ich das an? If empty oder isset funktioniert nicht da immer beide Variablen da sind. Wie finde ich heraus aus welchem Select die Auswahl kommt?

Danke für eure Hilfe!

Gruss aus Zürich: Spin
Spin ist offline   Mit Zitat antworten


Alt 14.08.2007, 19:40   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Wieso haben immer beide einen Übermittelten Wert?
Idr. lässt man den ersten Wert leer, oder übergibt eine 0.
Somit kann man doch ganz klar erkennen, ob bei einem, beiden oder keinem eine Auswahl erfolgte.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 14.08.2007, 19:54   #3
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
genau das, dann reicht die Abfrage
if($_POST['select_1']) { ... }
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 14.08.2007, 19:59   #4
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt
Hallo

Ja normalerweise schon. Nur funktioniert das in diesem Fall nicht so. Mit den 2 Select werden Kategorien ausgewählt aus einer Datenquelle. Die Kategorien heissen aber nicht gleich da die Kategorienamen in der Quelle und im Ziel nicht die gleichen Namen tragen. Mit hilfe einer Tabelle werden sie verknüpft.

Das heisst Select_1 steht auf Wert A und Select_2 auf Wert K

Nun wird Select_1 auf Wert B gestellt und per JS wird das Form versendet.
Im POST für Select_1 steht jetzt der Wert B aber im POST für Select_2 steht der Wert K.

Hoffe du weisst was ich meine.

Gruss: Spin
Spin ist offline   Mit Zitat antworten
Alt 14.08.2007, 20:02   #5
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Klar wissen wir was du meinst.
Das ist aber normal, daher ja der Hinweis, dass man sich den ersten Wert leer lässt und was reinschreibt, wie "Bitte wählen", hierbei ist dann halt die Übergabe leer/0.

Wenn Du das nicht willst, musst Du nicht die Selectfelder in der Übergabe prüfen, sondern 2 hidden felder eintragen und diese via JS befüllen und zwar immer dann, wenn ein onchange von einem select feld ausgeführt wird.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Alt 14.08.2007, 23:48   #6
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt
Red face

2 Selectfelder


Hallo

Also habe jetz ein wenig rumprobiert und habe mich für die Lösung mit JS entschieden.

Habe nun folgende JS funktion geschrieben die bei onChange aufgerufen wird:

Code:
<head>

<script language="JavaScript">
   function kat_uebergabe() {	
        document.form_navi.kat_auswahl.value =  test;
	form_navi.submit();
        }
</script>

</head>
<body>
<?php echo $_POST[kat_auswahl];?>

<form id="form_navi" method="post" action="<?php echo $PHP_SELF;?>">

<select name="kat" size="1" onChange="javascript:kat_uebergabe()">
<option value="1">1</option>
<option value="1">2</option>
<option value="usw">usw</option>
</select>
<input name="kat_auswahl" type="hidden" value="">
</form>
</body>
Leider mache ich was falsch aber blick nicht durch. Weis jemand Rat von euch?

Der Submit ansich klappt. Das hidden Feld wird einfach nicht richtig befüllt.

Gruss: Spin

Geändert von Spin (15.08.2007 um 00:13 Uhr).
Spin ist offline   Mit Zitat antworten
Alt 15.08.2007, 00:11   #7
TP-Moderator
 
Benutzerbild von Rizzo
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
Rizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine User
Hallo Spin,

schau dich doch mal etwas in den JS FAQ von Malleus um, dann findest Du sicher den ein oder anderen wertvollen Tipp. Alternativ auch mal dieses Beispiel anschauen.
Ansonsten würde es auch helfen, wenn Du deinen Code mal etwas sauberer verfasst. Stichwort: PHP Tags auf aber nicht wieder zu oder auch Form-Tag nach Body-Tag schliessen, kein Submit.
Rizzo ist offline   Mit Zitat antworten
Alt 15.08.2007, 00:26   #8
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt
Sorry

Habs mal korrigiert. Ist wohl in der eile des Gefechts passiert.
Den submit möchte ich ja eben gerne in meiner Funktion ausführen nachdem der Wert gesetzt ist für das hidden Feld.

Gruss: Spin
Spin ist offline   Mit Zitat antworten
Alt 15.08.2007, 02:00   #9
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt
Hallo zusammen

Problem gelöst es nagelt. Danke für eure Inputs.

Code:
function kat_uebergabe() {
	document.form_navi.select_kat.value= 'Ep';
	document.form_navi.submit();
    }
So klappts wunderbar.

Gute Nacht

Gruss: Spin
Spin ist offline   Mit Zitat antworten
Alt 15.08.2007, 02:17   #10
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
So richtig durchdacht es es ja nun auch nicht, immerhin soll ja nicht gleich ein Submit erfolgen, wenn ein Feld gewählt wurde.
Weiterhin ist onChange auch nicht so sinnig, denn es wird nicht ausgelöst, wenn man das erste Element nimmt, dieses ist ja schon gewählt und somit erfolgt keine Änderung.

Hier mal ein anderer Ansatz, der das machen sollte, was Du haben willst.
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>
<script type="text/javascript">
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function getType(event) {
    event = event || window.event;
    return event.type;
}

function didChange()
{
    var selection1 = document.getElementById('kat1');
    selection1.onclick = function(event) {
        if (getType(event) == "click") {
            document.getElementById('kat1_auswahl').value = selection1.value
        }
    }

    var selection2 = document.getElementById('kat2');
    selection2.onclick = function(event) {
        if (getType(event) == "click") {
            document.getElementById('kat2_auswahl').value = selection2.value
        }
    }
}
addLoadEvent(didChange);
</script>
</head>
<body>
    <?php 
    if(!empty($_POST['submit'])){
        echo "Auswahl Feld1: $_POST[kat1_auswahl]<br />";
        echo "Auswahl Feld2: $_POST[kat2_auswahl]<br />";
    }
    ?>
    <form id="form_navi" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
        <select name="kat1" id="kat1" size="1">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="usw">usw</option>
        </select>
    
        <select name="kat2" id="kat2" size="1">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="usw">usw</option>
        </select>
        <input name="kat1_auswahl" id="kat1_auswahl"  type="hidden" value="">
        <input name="kat2_auswahl" id="kat2_auswahl"  type="hidden" value="">
        <input type="submit" id="submit" name="submit" value="abschicken" />
    </form>
</body>
</html>

Hier ein interessanter Link zu dem Thema.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de

>>> der code ist so scheisse, soweit hab ich nicht gelesen <<<
webcreate ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
2 Selectfelder im gleichen Formular 2 Selectfelder im gleichen Formular
« [PHP] nächsten Buchstaben aus dem Alphabet holen | Datenbankeinstellung für Optionsschalter »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:27 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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

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