Javascript item menü

SonicBe@m

Erfahrenes Mitglied
Hy all,
ich hab momentan nen ziemlich dickes Problem mit einer Javascript (anwendung?).

ich werd hier einfach mal den Code posten und dann mal näher darrauf eingehen + meinem Problem welches ich habe.

PHP:
var lastInputSecond1 = new Array();
var lastInputSecond2 = new Array();
var hiddenSecond1 = null;
var hiddenSecond2 = null;

/* ---------Form Second------------ */
function addSecond() {
   if(document.filminfo.t_addSecond.value != "" && document.filminfo.t_addSecondReal.value != ""){
      s_secondDarst = new Option(document.filminfo.t_addSecond.value,document.filminfo.t_addSecond.value,false,true);
      document.filminfo.s_secondDarst.options[document.filminfo.s_secondDarst.length] = s_secondDarst;
      var neueZahlen = lastInputSecond1.push(document.filminfo.t_addSecond.value+"");
      document.filminfo.t_addSecond.value = "";
      
      s_secondReal = new Option(document.filminfo.t_addSecondReal.value,document.filminfo.t_addSecondReal.value,false,true);
      document.filminfo.s_secondReal.options[document.filminfo.s_secondReal.length] = s_secondReal;
      var neueZahlen = lastInputSecond2.push(document.filminfo.t_addSecondReal.value+"");
      document.filminfo.t_addSecondReal.value = "";
      packSecond();
   }
   
   else if(document.filminfo.t_addSecond.value == "" && document.filminfo.t_addSecondReal.value != ""){
      alert('Bitte Feld 1 mit Werten befüllen!');
      document.filminfo.t_addSecond.focus();
   }
   else if(document.filminfo.t_addSecond.value != "" && document.filminfo.t_addSecondReal.value == ""){
      alert('Bitte Feld 2 mit Werten befüllen!');
      document.filminfo.t_addSecondReal.focus();
   }
   else if(document.filminfo.t_addSecond.value == "" && document.filminfo.t_addSecondReal.value == ""){
      alert('Bitte beide Felder mit Werten befüllen!');
            document.filminfo.t_addSecond.focus();
   }
}

function delSecond() {
   document.filminfo.s_secondDarst.options[document.filminfo.s_secondDarst.length-1] = null;
   document.filminfo.s_secondReal.options[document.filminfo.s_secondReal.length-1] = null;
   lastInputSecond1.pop();
   lastInputSecond2.pop();
   packSecond();
}

function alertSecond() {
   ausgabe1 = lastInputSecond1.join("#")
   alert(ausgabe1);
   ausgabe2 = lastInputSecond2.join("#")
   alert(ausgabe2);
}

function packSecond() {
   hiddenSecond1 = lastInputSecond1.join("#");
   hiddenSecond2 = lastInputSecond2.join("#");
   document.filminfo.h_second1.value = hiddenSecond1;
   document.filminfo.h_second2.value = hiddenSecond2;
}   
/* --------------------- */

also
diese Funktionen erlauben einem ein Itemmenü anzulegen.
ein Bild wie es aussehen kann werd ich mal dazu legen.

man hatt 2 Felder ein Input field und ein Item field
bei dem Input field wird der Text angegeben der bei der Item liste eingefügt wird.
ich habe die Funktion in soweit fertig das man hinzufügen und löschen kann, allerdings wenn man einen eintrag löschen will dann wird leider nur der letzte gelöscht, und bei hinzufügen immer nur angefügt.
ich bräuche nun eine Erweiterung die es mir erlaubt Daten darin zu verschieben und markierte Felder zu bearbeiten.
hatt schonmal einer sowas geschrieben oder hatt wer eine lösung um das Problem zu meistern?
danke euch
bis dann
CU
 

Anhänge

  • add-del.png
    add-del.png
    1,6 KB · Aufrufe: 120
Zuletzt bearbeitet:
Hi,

Hab eine Idee wie´s klappen könnte. Hängst du bitte mal die HTML Datei mit dem Formular an, damit ich´s besser testen kann. Eine Frage noch: Woher kommen die daten in den Feldern?

ciao
 
ich hab ne parser Funktion geschrieben damit ich die daten in die sql schreiben kann damit ichs bei nem update wieder aufbauen kann, oder was meinst du mit, woher die daten kommen?
PHP:
<form action="info_update.jsp" method="post" name="filminfo">
<table>
   <tr> 
      <td valign="top" width="170"> 
         <input name="h_second1" type="hidden">
         <input name="h_second2" type="hidden">
         <span class="stn">Name im Film</span><br>
         <select name="s_secondDarst" size="4" style="width:170px">
<%
   st = new StringTokenizer(movie.getStrSecondActor1(),"#");
   while (st.hasMoreTokens()) {
         String tmp = st.nextToken();
         out.println("<option value=\""+tmp+"\">"+tmp+"</option>");
   }
%>
         </select>
         <input name="t_addSecond" type="text" style="width:170px">
         <a href="javascript:addSecond()"> <img src="<%=strButtonsDir%>/hinzufuegen.gif" border="0" name="b_addSecond" alt="Hinzufügen"> 
         </a>
      </td>
      <td width="372"> <span class="stn">Real Name</span><br>
         <select name="s_secondReal" size="4" style="width:170px">
<%
   st = new StringTokenizer(movie.getStrSecondActor2(),"#");
   while (st.hasMoreTokens()) {
         String tmp = st.nextToken();
         out.println("<option value=\""+tmp+"\">"+tmp+"</option>");
   }
%>
         </select>
         <br>
         <input name="t_addSecondReal" type="text" style="width:170px">
         <br>
         <a href="javascript:delSecond()"> <img src="<%=strButtonsDir%>/loeschen.gif" border="0" name="b_delSecond" alt="letzten löschen"> 
         </a>
      </td>
   </tr>
</table>
</form>

mir fällt grad beim drüberlesen auf das er die javascript links aussernander schreibt! wenn du das noch fixt und das mit dem oberen code verbindest dann geht alles
 
Zuletzt bearbeitet:
sorry für doppel posten!
mir ist erst jetzt klar geworden das man nur beim erstellen des postes nen file anhängen kann!
also hier die sourcen zusammen gesetzt
 

Anhänge

  • menu.zip
    1,1 KB · Aufrufe: 16
Hi Sonic,

hab dir 3 Funktionen geschrieben. Bin ganz Zufrieden, bis auf die letzte - vielleicht fällt dir dazu noch eine bessere methode ein, aber mir ist es jetzt eindeutig zu spät dafür...

ciao & gute N8

Ps: Attachment in html umbenennen
 

Anhänge

  • menu.txt
    5,5 KB · Aufrufe: 48
hey danke ;)
nun nur noch ein paar Pleinigkeiten und es wäre Perfekt!
gibs eine möglichkeit einen onClick auf die itemliste anzuwenden? natürlich nur wenn auch ein feld selektiert ist!...
bzw via doppel glick ;)
dann könnt ich mir den bearbeiten button spaaren :)
aber danke erstmal. funktioniert und genau das hab ich gesucht ;)
 
Original geschrieben von SonicBe@m
gibs eine möglichkeit einen onClick auf die itemliste anzuwenden? natürlich nur wenn auch ein feld selektiert ist!...
bzw via doppel glick ;)
dann könnt ich mir den bearbeiten button spaaren :)
Ja, das funktioniert. Einfach in die beiden <select> Felder den Handler onClick="javascript:editmarked()" bzw onDblClick="javascript:editmarked()" setzen.

Noch eine Erweiterung: füge der Funktion "editmarked()" als letzte Zeile follgendes hinzu: document.filminfo.t_addSecond.focus();

ciao
 
SORRY g
nun muss ich doch nochmal passen!
Ich schaffe es weder die funktion so umzuschreiben das man einträge in der liste auch nach unten schieben kann noch weis ich wie ich es bewerkstelligen kann das ich wenn ich einen Eintrag bearbeite und wieder einfüge, er wieder an der alten Possition ist.

meinste das das möglich ist?
du scheinst dich mit Form´s im Hs ziemlich gut zurrecht zu finden nun wollt ich fragen ob du mir das noch erweitern könntest *g*. ich friemel da zwar grad selbst wie ein blöder rum aber checken tu ichs net *g*.
 
Zurück