PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
kleines problem mit javascript
Beitrag
<blockquote data-quote="timinol" data-source="post: 2036489" data-attributes="member: 589927"><p><strong>kleines problem mit javascript (Fortsetzung)</strong></p><p></p><p>hallo zusammen,</p><p> </p><p>ich bin offensichtlich eine absolute null in javascript, wobei ich nicht alleine zu sein scheine, denn nachdem ich mehrere anfragen in andere foren gestellt habe (in frankreich und US) bleibt mir nur noch wenig hoffnung.</p><p> </p><p>das problem ist folgendes:</p><p> </p><p>ich habe eine seite die insgesamt 7 tage der woche darstellt, wobei jeder tag in viertelstunden unterteilt ist. jede viertelstunde wird durch ein graues bild dargestellt.</p><p>ich habe nun ein select, wo eine person ausgesucht wird. dieser person wird nun eine farbe zugeordnet und durch klicken der viertelstunden, wird das bild der entsprechenden farbe gezeigt. soweit sogut. das untengezeigt script funktioniert soweit.</p><p>das problem ist nun, dass ich als bindeelement zwischen PHP und javaScript ein cookie gewählt habe, was sich letztendlich als unglücklich herausstellt, denn ich schaffe es einfach nicht, das cookie wieder zu löschen, denn das cookie MUSS beim laden der seite (sei es durch laden oder durch F5) leer sein.</p><p> </p><p>also habe ich optiert (nach langem suchen) für ein unsichtbares element, das jeweils von javaScript zur weiteren kontrolle herangezogen wird.</p><p> </p><p>wie man aus dem script ersehen kann, ist der inhalt immer ein 2-dimesionales array indem jedes element jeweils in einem array den namen und die zugeordnete farbe festgehalten wird.</p><p> </p><p>die frage ist: wie sind die jeweiligen funktionen getcookie() und controle_affect_color() zu ändern, dass sie nicht auf ein cookie, sondern auf ein unsichtbares html-tag greifen.</p><p> </p><p>hier das script:</p><p>[HTML]</p><p><html></p><p> <head></p><p> <script language="javascript" type='text/javascript'></p><p> var perscol = -1; </p><p> var last_attributed = -1;</p><p> var color = new Array(); </p><p> var person = "";</p><p> var ptitle = '';</p><p> var col_last = getCookie("colors[last]");</p><p> var temp = 0;</p><p> if (col_last!='') last_attributed = col_last;</p><p> function getCookie(name) {</p><p> if (document.cookie.length>0) {</p><p> start = document.cookie.indexOf(name+"=");</p><p> pos = start+name.length+1;</p><p> if (start != 0) {</p><p> start = document.cookie.indexOf("; "+name+"=");</p><p> pos = start+name.length+3;</p><p> }</p><p> if (start != -1) {</p><p> start = pos;</p><p> end = document.cookie.indexOf(";",start);</p><p> if (end == -1) end = document.cookie.length;</p><p> return unescape(document.cookie.substring(start,end));</p><p> }</p><p> }</p><p> return '';</p><p> }</p><p> function controle_affect_color(val,name) {</p><p> if (val != 0) {</p><p> if (color[val] == null) {</p><p> var col_attrib = getCookie("colors["+name+"]");</p><p> if (col_attrib!='') color[val] = col_attrib;</p><p> else {</p><p> color[val] = parseInt(last_attributed)+1;</p><p> document.cookie = "colors["+name+"]="+color[val]+";";</p><p> last_attributed++;</p><p> document.cookie = "colors[last]="+last_attributed+";";</p><p> }</p><p> }</p><p> ptitle=name;</p><p> return color[val];</p><p> }</p><p> ptitle='';</p><p> return -1;</p><p> }</p><p> </p><p> function maj_img(id,obj,name,src) {</p><p> var div=document.getElementById("total");</p><p> div.innerHTML="<PRE>HEURES ALLOUEES:\n";</p><p> if ((name!=obj.alt)&&(person!=0)) {</p><p> document.getElementById(id).value=person;</p><p> obj.src="img/plan/"+src+".png";</p><p> if(obj.alt=='') temp+=25;</p><p> obj.alt=name;</p><p> obj.title=name;</p><p> } else {</p><p> document.getElementById(id).value=-1;</p><p> obj.src="img/plan/-1.png";</p><p> obj.alt='';</p><p> obj.title='';</p><p> if (temp>0) temp-=25;</p><p> }</p><p> if (temp/100>0) div.innerHTML+=Math.floor(temp/100)+"h"+temp%100+"min</PRE>";</p><p> else div.innerHTML+=temp+"min</PRE>";</p><p> }</p><p> </script></p><p> <style type="text/css"></p><p> .day {</p><p> text-align: center;</p><p> vertical-align: top;</p><p> font-size: 60%;</p><p> font-weight: bold;</p><p> }</p><p> .spc {</p><p> font-size: 50%;</p><p> }</p><p> img {</p><p> border: 0;</p><p> vertical-align: middle;</p><p> }</p><p> form {</p><p> margin: 0px;</p><p> padding: 0px;</p><p> }</p><p> </style></p><p> </head></p><p> <body><center></p><p> <div id="color" style="visibility:hidden;"></div></p><p> <form method="post"></p><p> <select name="pers" onChange="person=this.options[this.selectedIndex].value;perscol=controle_affect_color(this.value,this.options[this.selectedIndex].text);"></p><p> <option value="0" selected>----</option></p><p> <option value="10">Rémi</option></p><p> <option value="20">Marcel</option></p><p> <option value="30">Michel</option></p><p> <option value="40">Christiane</option></p><p> <option value="50">Julien</option></p><p> <option value="60">Matthieu</option></p><p> <option value="70">Vincent</option></p><p> <option value="80">Stéphane</option></p><p> <option value="90">Marc</option></p><p> </select></p><p> <br /><br /><br /></p><p> <table summary="" border="0" cellspacing="0" cellpadding="0"></p><p> <tr></p><p> <td class="day" style="height:15px;">Hrs-></td></p><p> <?php</p><p> if (isset($_POST['tab'])) {</p><p> print_r($_POST['tab']);</p><p> echo "<br>";</p><p> print_r($_COOKIE['colors']);</p><p> }</p><p> else for($j=0;$j<1;$j++) for($i=0;$i<96;$i++) $l[$j][$i]=-1;</p><p> $jrs = array("Lun","Mar","Mer","Jeu","Ven","Sam","Dim");</p><p> for($k=0;$k<24;$k++) echo '<td class="day" colspan="5">'.$k.'</td>';</p><p> echo "\r</tr>";</p><p> for($j=0;$j<1;$j++) {</p><p> echo '<tr></p><p> <td valign="middle">'.$jrs[$j].'&nbsp;</td>';</p><p> for($i=0;$i<96;$i++) {</p><p> if ($i%4==0) echo '<td class="spc">&nbsp;</td>';</p><p> $color = -1;</p><p> if (isset($_COOKIE['colors'])) {</p><p> $l[$j][$i] = trim($l[$j][$i]);</p><p> if (array_key_exists($l[$j][$i], $_COOKIE['colors']) !== false) $color = $_COOKIE['colors'][$l[$j][$i]];</p><p> }</p><p> echo '<td valign="middle"></p><p> <input id="'.$j.$i.'" type="hidden" name="tab['.$j.']['.$i.']" value="'.$l[$j][$i].'" /></p><p> <img src="img/plan/'.$color.'.png" onClick="maj_img(\''.$j.$i.'\',this,ptitle,perscol);" alt="" title="" /></p><p> </td>';</p><p> }</p><p> echo "\r</tr>\n\t";</p><p> }</p><p> ?></p><p> </table></p><p> <br /></p><p> <input type="submit" value="enregistrer" /></p><p> </form></p><p> <div id='total' style="float:center; position:relative; center:75px;"></div></p><p> </center></body></p><p></html>[/HTML]</p><p> </p><p>ich bin für jede hilfe dankbar und danke im voraus!</p></blockquote><p></p>
[QUOTE="timinol, post: 2036489, member: 589927"] [b]kleines problem mit javascript (Fortsetzung)[/b] hallo zusammen, ich bin offensichtlich eine absolute null in javascript, wobei ich nicht alleine zu sein scheine, denn nachdem ich mehrere anfragen in andere foren gestellt habe (in frankreich und US) bleibt mir nur noch wenig hoffnung. das problem ist folgendes: ich habe eine seite die insgesamt 7 tage der woche darstellt, wobei jeder tag in viertelstunden unterteilt ist. jede viertelstunde wird durch ein graues bild dargestellt. ich habe nun ein select, wo eine person ausgesucht wird. dieser person wird nun eine farbe zugeordnet und durch klicken der viertelstunden, wird das bild der entsprechenden farbe gezeigt. soweit sogut. das untengezeigt script funktioniert soweit. das problem ist nun, dass ich als bindeelement zwischen PHP und javaScript ein cookie gewählt habe, was sich letztendlich als unglücklich herausstellt, denn ich schaffe es einfach nicht, das cookie wieder zu löschen, denn das cookie MUSS beim laden der seite (sei es durch laden oder durch F5) leer sein. also habe ich optiert (nach langem suchen) für ein unsichtbares element, das jeweils von javaScript zur weiteren kontrolle herangezogen wird. wie man aus dem script ersehen kann, ist der inhalt immer ein 2-dimesionales array indem jedes element jeweils in einem array den namen und die zugeordnete farbe festgehalten wird. die frage ist: wie sind die jeweiligen funktionen getcookie() und controle_affect_color() zu ändern, dass sie nicht auf ein cookie, sondern auf ein unsichtbares html-tag greifen. hier das script: [HTML] <html> <head> <script language="javascript" type='text/javascript'> var perscol = -1; var last_attributed = -1; var color = new Array(); var person = ""; var ptitle = ''; var col_last = getCookie("colors[last]"); var temp = 0; if (col_last!='') last_attributed = col_last; function getCookie(name) { if (document.cookie.length>0) { start = document.cookie.indexOf(name+"="); pos = start+name.length+1; if (start != 0) { start = document.cookie.indexOf("; "+name+"="); pos = start+name.length+3; } if (start != -1) { start = pos; end = document.cookie.indexOf(";",start); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(start,end)); } } return ''; } function controle_affect_color(val,name) { if (val != 0) { if (color[val] == null) { var col_attrib = getCookie("colors["+name+"]"); if (col_attrib!='') color[val] = col_attrib; else { color[val] = parseInt(last_attributed)+1; document.cookie = "colors["+name+"]="+color[val]+";"; last_attributed++; document.cookie = "colors[last]="+last_attributed+";"; } } ptitle=name; return color[val]; } ptitle=''; return -1; } function maj_img(id,obj,name,src) { var div=document.getElementById("total"); div.innerHTML="<PRE>HEURES ALLOUEES:\n"; if ((name!=obj.alt)&&(person!=0)) { document.getElementById(id).value=person; obj.src="img/plan/"+src+".png"; if(obj.alt=='') temp+=25; obj.alt=name; obj.title=name; } else { document.getElementById(id).value=-1; obj.src="img/plan/-1.png"; obj.alt=''; obj.title=''; if (temp>0) temp-=25; } if (temp/100>0) div.innerHTML+=Math.floor(temp/100)+"h"+temp%100+"min</PRE>"; else div.innerHTML+=temp+"min</PRE>"; } </script> <style type="text/css"> .day { text-align: center; vertical-align: top; font-size: 60%; font-weight: bold; } .spc { font-size: 50%; } img { border: 0; vertical-align: middle; } form { margin: 0px; padding: 0px; } </style> </head> <body><center> <div id="color" style="visibility:hidden;"></div> <form method="post"> <select name="pers" onChange="person=this.options[this.selectedIndex].value;perscol=controle_affect_color(this.value,this.options[this.selectedIndex].text);"> <option value="0" selected>----</option> <option value="10">Rémi</option> <option value="20">Marcel</option> <option value="30">Michel</option> <option value="40">Christiane</option> <option value="50">Julien</option> <option value="60">Matthieu</option> <option value="70">Vincent</option> <option value="80">Stéphane</option> <option value="90">Marc</option> </select> <br /><br /><br /> <table summary="" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="day" style="height:15px;">Hrs-></td> <?php if (isset($_POST['tab'])) { print_r($_POST['tab']); echo "<br>"; print_r($_COOKIE['colors']); } else for($j=0;$j<1;$j++) for($i=0;$i<96;$i++) $l[$j][$i]=-1; $jrs = array("Lun","Mar","Mer","Jeu","Ven","Sam","Dim"); for($k=0;$k<24;$k++) echo '<td class="day" colspan="5">'.$k.'</td>'; echo "\r</tr>"; for($j=0;$j<1;$j++) { echo '<tr> <td valign="middle">'.$jrs[$j].' </td>'; for($i=0;$i<96;$i++) { if ($i%4==0) echo '<td class="spc"> </td>'; $color = -1; if (isset($_COOKIE['colors'])) { $l[$j][$i] = trim($l[$j][$i]); if (array_key_exists($l[$j][$i], $_COOKIE['colors']) !== false) $color = $_COOKIE['colors'][$l[$j][$i]]; } echo '<td valign="middle"> <input id="'.$j.$i.'" type="hidden" name="tab['.$j.']['.$i.']" value="'.$l[$j][$i].'" /> <img src="img/plan/'.$color.'.png" onClick="maj_img(\''.$j.$i.'\',this,ptitle,perscol);" alt="" title="" /> </td>'; } echo "\r</tr>\n\t"; } ?> </table> <br /> <input type="submit" value="enregistrer" /> </form> <div id='total' style="float:center; position:relative; center:75px;"></div> </center></body> </html>[/HTML] ich bin für jede hilfe dankbar und danke im voraus! [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 7, ▼ = 3, ◇ = 2 und die Summe von ▲ und ▼ durch ◇ geteilt wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
kleines problem mit javascript
Oben