HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ? |
 |
|

17-09-2003, 14:43
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
[JavaScript] Text von Select Option bekommen
ich hab hier folgenden Code:
Code:
<script type="text/javascript">
<!--
function Hinzufuegen() {
NeuerEintrag = new Option(document.Testform.neu.text,document.Testform.neu.value,false,true);
document.Testform.Auswahl.options[document.Testform.Auswahl.length] = NeuerEintrag;
document.Testform.neu.value = "";
}
//-->
</script>
<form name="Testform" action="">
<select name="Auswahl" size="8">
<option>Ein Eintrag</option>
</select>
<br>
<select name="neu" size="8">
<option value='001'>Ein 1 Eintrag</option>
<option value='002'>Ein 2 Eintrag</option>
<option value='003'>Ein 3 Eintrag</option>
</select>
<input type="button" value="Hinzu" onClick="Hinzufuegen()">
</form>
Ich hab also eine Liste mit mehreren Einträge und möchte nun Text und Value dieser Liste in eine andere Übertragen. Leider bekommen ich den Text von "neu" nicht in "Auswahl", da "document.Testform.neu.text" nicht das richtige ist.
Kann mir da jemand helfen?
DAnke schonmal,
Holy
|

17-09-2003, 15:36
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Re: [JavaScript] Text von Select Option bekommen
Zitat:
Original geschrieben von holyfreak
Leider bekommen ich den Text von "neu" nicht in "Auswahl", da "document.Testform.neu.text" nicht das richtige ist.
|
natürlich nicht - "neu" ist der name deines select-feldes.
du willst aber auf die einzelnen options zugreifen, also mache dies auch.
schau dir das beispiel bei selfhtml an.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

18-09-2003, 15:46
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
Du bist mein Held
es funktioniert, 1000 Dank
|

18-09-2003, 17:13
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
neues problem
ich hab jetzt die Select Option richtig drinn und drücke nun den submit button.
wie bekomm ich nun die werte der selectoption in php?
in $Auswahl stehen die werte nicht drinn, ich dachte das wird als array übergeben.
|

18-09-2003, 17:38
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von holyfreak
wie bekomm ich nun die werte der selectoption in php?
in $Auswahl stehen die werte nicht drinn, ich dachte das wird als array übergeben.
|
als array wird das nur übergeben, wenn du [] an den namen anhängst, also name="Auswahl[]".
warum du aber überhaupt ein array erwartest, wenn dein select-feld gar nicht vom typ multiple ist, ist mir noch schleiereule ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

18-09-2003, 22:28
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
es muss nicht unbedingt ein array sein, wenn es anders geht nehm ich es auch so.
das problem ist nur, das ich alle werte des select option brauche, also nicht nur den ausgewählten, sondern alle.
mit auswahl[] hab ich schon probiert, dann funktionieren aber die javascripte nichtmehr.
|

19-09-2003, 02:09
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von holyfreak
das problem ist nur, das ich alle werte des select option brauche, also nicht nur den ausgewählten, sondern alle.
|
dann hassu aber ein problem - es werden nur die markierten werte beim abschicken eines formulars übertragen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

19-09-2003, 08:50
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von holyfreak
das problem ist nur, das ich alle werte des select option brauche, also nicht nur den ausgewählten, sondern alle.
|
- wozu?
lässt sich bestimmt auch anders lösen
- wenn du den inhalt der select-box mit php generierst, dann lass diese routine nochmal laufen, dann weißt du auch was du drin stehen hattest
- wenn du den inhalt fest reinschreibst, weißt du's auch
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-09-2003, 12:02
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
okay, nochmal zu erklärung:
ich hab 2 Listen
in der einen Liste stehen namen, in der anderen nix.
nun kann der user namen aus der einen liste in die andere übertragen, das ganze hab ich mit dem obigen js gelöst.
unten im formular ist dann ein button absenden, welcher die seite neu läd.
nun lese ich in php die anderen Formulardaten aus und brauche auch die ausgewählten namen aus der combobox.
|

19-09-2003, 12:10
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
nachdem das alles ja eh nur funktioniert, wenn der benutzer js aktiviert hat, könntest du beim abschicken des formulars mit js alle einträge des feldes markieren
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-09-2003, 12:12
|
Wurzel
Master  
|
|
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
|
|
versuchs mal so:
- mach ein array aus der select-box => boxname[]
- häng noch "multiple" dran
- ruf mit onsubmit() eine weitere js-funktion auf, die
--> mit selectedIndex und einer schleife alle einträge selectiert
- erst dann wird das formular gesendet
|

19-09-2003, 14:12
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
gibt es denn eine bessere Möglichkeit?
Wenn alles markiert ist, dann geht es oder wie?
|

19-09-2003, 14:16
|
Happy Nihilist
PHP Senior
|
|
Registriert seit: Sep 2003
Beiträge: 1.168
|
|
Was wuselt ihr euch denn hier für einen Unsinn zusammen?
Wenn du eine Box mit bereits eingetragenen Werten anzeigen kannst, dann kennst du diese Daten doch bereits!
Wenn der Benutzer nun ein oder mehrere Items markiert, um sie zu übertragen, dann zeigst du beim abschicken einfach wieder alle Items bis auf die vorher ausgewähltebn an. Was soll denn daran so schwer sein?
Anders ist es sicher moeglich, ob es sauber ist, ist fraglich. (Wahrscheinlich funktioniert es dann auf ca. 0,4% aller Konfigurationen)
|

19-09-2003, 14:34
|
holyfreak
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 17
|
|
Na wenn das so einfach, dann kannst du das ja bitte mal machen, weil ich bekomm es nicht hin.
Hier ist alles, was ich bereits gemacht habe:
Die 2 Felder mit den Buttons
PHP-Code:
<form action='<? echo $PHP_SELF."?kdnr=".$KundenKdnrFromDB ?>' name='Anlegen' method='post'>
<tr>
<td id="tdrow1">Ansprechpartner</td>
<td id="tdrow2">dem Angebot zugeordnet:<br>
<select name="ANSPRAKTIV[]" id='dropdown' size="5" multiple="yes">
</select>
</td>
<td id="tdrow2" width="10">
<input type="button" value="<<<" id='button2' onClick="Hinzufuegen()"><br>
<input type="button" value=">>>" id='button2' onClick="Entfernen()">
</td>
<td id='tdrow2'>noch nicht zugeordnet:<br>
<?
$sql="SELECT anspr, name, vname FROM cdb_ansprechpartner WHERE kdnr = ".$KundenKdnrFromDB;
if(mysql_query($sql, $verbindung))
{
$result = mysql_query($sql, $verbindung);
$anzahl = mysql_num_rows($result);
if ($anzahl == 0)
{
echo "<select name='ANSPRECHPARTNER' id='dropdown'>";
echo "<option value='0'>keine Partner angelegt</option> \n";
echo "</select></td>";
}
if ($anzahl != 0)
{
echo "<select name='ANSPRINAKTIV[]' id='dropdown' size='5' multiple='yes'>";
while ($daten = mysql_fetch_array($result))
{
echo "<option value='".$daten["anspr"]."'>".$daten["vname"]." ".$daten["name"]."</option> \n";
}
echo "</select></td>";
}
}
?>
</tr>
<input type='submit' value='Angebot anlegen' id='button'>
<input type='hidden' name='sent' value='newokay'>
</form>
dann die 2 Javascripts:
PHP-Code:
<script type="text/javascript">
<!--
var aktivarray = new Array();
function Hinzufuegen()
{
NeuerEintrag = new Option(document.Anlegen.elements['ANSPRINAKTIV[]'].options[document.Anlegen.elements['ANSPRINAKTIV[]'].selectedIndex].text ,document.Anlegen.elements['ANSPRINAKTIV[]'].value,false,true);
document.Anlegen.elements['ANSPRAKTIV[]'].options[document.Anlegen.elements['ANSPRAKTIV[]'].length] = NeuerEintrag;
document.Anlegen.elements['ANSPRINAKTIV[]'][document.Anlegen.elements['ANSPRINAKTIV[]'].selectedIndex] = null;
document.Anlegen.elements['ANSPRINAKTIV[]'].value = "";
}
function Entfernen()
{
NeuerEintrag = new Option(document.Anlegen.elements['ANSPRAKTIV[]'].options[document.Anlegen.elements['ANSPRAKTIV[]'].selectedIndex].text ,document.Anlegen.elements['ANSPRAKTIV[]'].value,false,true);
document.Anlegen.elements['ANSPRINAKTIV[]'].options[document.Anlegen.elements['ANSPRINAKTIV[]'].length] = NeuerEintrag;
document.Anlegen.elements['ANSPRAKTIV[]'][document.Anlegen.elements['ANSPRAKTIV[]'].selectedIndex] = null;
document.Anlegen.elements['ANSPRAKTIV[]'].value = "";
}
//-->
</script>
und die Ausgabe nach dem erneuten Laden der PHP Seite durch submit:
PHP-Code:
echo "--".count($_GET['ANSPRAKTIV'])."--";
if (isset($ANSPRAKTIV[]))
{
echo "--".count($ANSPRAKTIV)."--";
// foreach ($ANSPRAKTIV[] AS $ausgabe)
// {
// echo $ausgabe;
// }
}
die();
bei mir funzt es nicht, das array ist nach dem Laden leer.
Holy
|

19-09-2003, 15:10
|
Wurzel
Master  
|
|
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
|
|
du sendest per POST und fragst $_GET ab
gib mal mit
PHP-Code:
echo "<pre>";
print_r($_POST);
echo "</pre>";
aus, was beim script ankommt.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
-->
|