# $_POST und Select->Option



## arraybreak (19. Juli 2014)

Tag zusammen,

drehe gerade durch, habe folgendes Problem:

Habe 2 Selectoption zur Auswahl, sieht so aus, und bedeutet, dass nur eine dieser Auswahl angezeigt wird, die andere wird durch jQuery versteckt, ob erste oder zweite Auswahl angezeigt wird, wird durch eine Vorwahl entschieden, die hier nicht angegeben ist.

```
<div id="1_set">
    <select id="MY" name="MY" size="1" onchange="Del_Data()">   
      <option id="auswahl1" value="Audi">Audi</option>
      <option id="auswahl2" value="BMW">BMW</option>
    </select>
</div>

<div id="2_set">   
    <select id="MY" name="MY" size="1" onchange="Del_Data()">   
      <option id="auswahl1" value="Mazda">Mazda</option>
      <option id="auswahl2" value="Opel">Opel</option>
    </select>
</div>
```
(Select ID und Name müssen bei beiden Select-Auswahlen gleich sein)


Danach wird es mit Formular durch POST abgeschickt, das Problem dabei ist, dass er die Richtige Auswahl übergibt und immer die erste von anderer Select-Auswahl.

Beispiel:
Ich habe bei erstem Select die Auswahl "BMW" ausgewählt.
Durch $_POST wird "BMW" übergeben und zusätzlich "Mazda" aus dem zweiten Formular.

Was mache ich falsch? Im Netz habe ich auch schon alles durchgesucht 

LG


----------



## SpiceLab (19. Juli 2014)

Das beschriebene Script-Fehlverhalten beruht schlichtweg auf dem doppelt vergebenen ID-Bezeichner; dieser muß im HTML-Dokumentbaum aber immer eindeutig sein.


----------



## arraybreak (19. Juli 2014)

und einen Lösungsvorschlag hast du zufällig nicht


----------



## SpiceLab (19. Juli 2014)

Die logische Schlußfolgerung zur Lösung kannst du meiner Begründung/Erklärung entnehmen


----------



## arraybreak (19. Juli 2014)

Habe jetzt so probiert, jetzt übergibt er aber garnichts mehr 

```
<div id="1_set">
    <select name="MYONE" size="1" onchange="Del_Data()">   
      <option id="auswahl1" value="Audi">Audi</option>
      <option id="auswahl2" value="BMW">BMW</option>
    </select>
</div>
<div id="2_set">   
    <select name="MYONE" size="1" onchange="Del_Data()">   
      <option id="auswahl1" value="Mazda">Mazda</option>
      <option id="auswahl2" value="Opel">Opel</option>
    </select>
</div>
```


----------



## SpiceLab (19. Juli 2014)

Das ist auch nicht die logische Schlußfolgerung - gleiches gilt nämlich für den NAME-Bezeichner.

Wenn das Script daraufhin die Arbeit komplett eingestellt hat, tippe ich darauf, dass darin noch der ehemalige ID- u. NAME-Bezeichner *MY* genannt wird.

Andernfalls werfe einfach mal einen Blick in die Fehlerkonsole.

Und wieso tauchen die IDs der <option>-Elemente weiterhin doppelt auf?

Desweiteren darf ein ID-Bezeichner nicht mit einer Ziffer beginnen: Attribut-Referenz - ID, IDREF oder NAME.

Nachtrag
Eindeutige ID- und NAME-Bezeichner würden hier beispielsweise so lauten:

```
<div id="set_1">
    <select id="MY_1" name="MY_1" size="1" onchange="Del_Data()">
      <option id="auswahl1_1" value="Audi">Audi</option>
      <option id="auswahl2_1" value="BMW">BMW</option>
    </select>
</div>
<div id="set_2">
    <select id="MY_2" name="MY_2" size="1" onchange="Del_Data()">
      <option id="auswahl1_2" value="Mazda">Mazda</option>
      <option id="auswahl2_2" value="Opel">Opel</option>
    </select>
</div>
```
_________________________
[edit]Code-Beispiel ergänzt[/edit]​


----------

