Input Feld ändert sich nach Auswahl

Talinsei

Grünschnabel
Hallo ,
ich baue gerade eine Page und bediene mich bisher Html und PHP. Jetzt stehe ich aber vor einem Problem das ich mit den mir verfügbaren Mitteln nicht lösen kann. Nachdem ich ein bissel gegoogelt habe bin ich auf ajax gestoßen. Ich habe 3 input Files und ein Select Feld

Code:
...
   <td>
        Spielname:
        <br>
        <input class="text2" name="spiel_name" type="text" size="59" style="color:#FFFFFF; maxlength="45">
      </td>
.....
        <input class="text2" name="b_link" type="text" size="57" style="color:#FFFFFF; maxlength="45" value="Games/">
        Tooltip: <br>
        <input class="text2" name="t_tip" type="text" size="57" style="color:#FFFFFF; maxlength="45" value="Games/">
        Gamelink: <br>
        <input class="text2" name="g_link" type="text" size="57" style="color:#FFFFFF; maxlength="45" value="Games/">
      </td>
    </tr>
    <tr>
      <td align="center">
        Gerne auswählen: <br>
          <select class="text4" name="gerne" size="10" style="color:#FFFFFF;" valign="top"><?
            while ($row = $db->data($res)) 
            {
              $value[$i] = $row['Name'];
              echo '<option>' .$value[$i]. '</option>';
              $i++;
            } ?> 
          </select>

...

In den Input Feldern steht immoment Games/ drin . Wenn ich ein Value aus der Liste wähle soll Games/Value/ da stehen und idealerweise sollte beim eintragen des Namen sich der Text in z.b. Games/Value/Name ändern. Ist sowas mit ajax möglich ? Könnt ihr mit Tipps geben wie ich sowas umsetzen könnte ?
 
Machs einfach per Javascript. Geht ganz easy:

Code:
<script...>
function run()
{
	var variable = document.getElementById("ID der Liste").value;
	getElementById("ID des Inputs").value = getElementById("ID des Inputs").value + variable;
}
</script>

Oder so ähnlich. Musst halt ein wenig rumexperimentieren, habe lange nichtmehr mit JS gearbeitet. Ajax ist dazu da ein asyncronisches XML-Object nach dem die Seite geladen wurde zu senden, also z. B. um hinterher einen PHP-Script parsern zu lassen bzw. das return des Scrips auszulesen.
 
Hi,

das wird so noch nicht funktionieren. Bei einem select-Element kommt man über das options-Array an den ausgewählten Eintrag. Aufgerufen wird die Funktion über den onchange-Handler der Auswahlliste:

HTML:
<script type="text/javascript">
<!--
   function setGenre() {
      document.Formularname.b_link.value = document.Formularname.b_link.value + document.Formularname.genre.options[document.Formularname.genre.selectedIndex].value;
   }   
-->
</script>
...
<select name="genre" size="10" onchange="setGenre();">
...

LG
 
Hey , ich finds echt Klasse das ihr mir helft ;). Netter zug von euch ;-).

Bei deinem Code bekomme ich im I-Net explorer folgende Fehlermeldung raus :

.. b_link ist Null oder kein Objekt

Was hat das zu bedeuten ?
 
Hi,

stimmen die Namen auch?

Code:
document.DeinFormularName.DeinFeldName.value

Ansonsten probier ein anderes Schema aus, um auf die Formularelemente zuzugreifen, obwohl ich damit im IE nie Probleme hatte.

LG
 
Danke =) das klappt jetzt. Nur das Namensfeld bekomme ich nicht angepasst. Verhällt sich das anders als die Select Box ?

Code:
function setName() {
         document.test.b_link.value = document.test.b_link.value + document.test.spiel_name.options[document.test.gerne.selectedIndex].value;
  }

Code:
 <input class="text2" name="spiel_name" type="text" size="59" style="color:#FFFFFF; maxlength="45" onchange="setGenre();">

Gibt es auch eine möglichkeit die Ausgabe nacher entsprechend zu Formatieren ? Ich meine damit => Ich gebe zuerst den Namen ein und dann erst das Genre sieht die Aussgabe so aus : Games/Name/Genre korrekt wäre aber Games/Genre/Name . In php wüsste ich wohl wie ich sowas lösen könnte aber in javascript :confused:
 
Hi,

Danke =) das klappt jetzt. Nur das Namensfeld bekomme ich nicht angepasst. Verhällt sich das anders als die Select Box ?

Ja, sicher, es ist ja kein select-Feld und hat daher auch keine options.

Code:
function setName() {
         document.test.b_link.value = document.test.b_link.value + document.test.spiel_name.value;
  }

Wobei Du diese Funktion in Deinem Namensfeld gar nicht aufrufst

Gibt es auch eine möglichkeit die Ausgabe nacher entsprechend zu Formatieren ? Ich meine damit => Ich gebe zuerst den Namen ein und dann erst das Genre sieht die Aussgabe so aus : Games/Name/Genre korrekt wäre aber Games/Genre/Name . In php wüsste ich wohl wie ich sowas lösen könnte aber in javascript :confused:

Was heißt bei Dir "nachher"? Nach dem Absenden des Formulars?

LG
 

Neue Beiträge

Zurück