Counter funktioniert nicht
Christian
- javascript
Hallo, ich habe folgendes Script in eine PHP Datei eingebunden:
<script language="JavaScript">
<!--
function add_folder()
{
if(document.folder.folder_description.value=="")
{
alert("Please insert description.");
document.folder.folder_description.focus();
}
else
{
var old_links = document.cookie;
var count = old_links.substring(old_links.lastIndexOf(",dir")+4,old_links.lastIndexOf(",dir")+6);
count = parseInt(count)
if(count == "") { count = "01"; }
else
{
if(count <= 10) { count = "0"+(count+1); }
else { count = count+1; }
}
var new_folder = ",dir"+count+":"+escape("'.$folder.'");
var new_description = ",des"+count+":"+document.folder.folder_description.value;
datum = new Date();
einjahr = 1000*60*60*24*365;
verfall = new Date(datum.getTime() + einjahr);
document.cookie = old_links+new_folder+new_description+"; expires=" + verfall.toGMTString();
}
//-->
</script>
<form action="JavaScript:add_folder()" method="get" name="folder">
<span class="description">description:</span><br />
<input type="text" size="25" maxlength="300" class="target" name="folder_description" />
</form>
im Cookie wird richtig weitergezählt bis 08 wenn eintrag 09 hinzukommt wird allerdings 01 eingetragen.
Kann mir jemand weiterhelfen?
Hallo, ich habe folgendes Script in eine PHP Datei eingebunden:
<script language="JavaScript">
<!--
function add_folder()
{
if(document.folder.folder_description.value=="")
{
alert("Please insert description.");
document.folder.folder_description.focus();
}
else
{
var old_links = document.cookie;
var count = old_links.substring(old_links.lastIndexOf(",dir")+4,old_links.lastIndexOf(",dir")+6);
count = parseInt(count)
if(count == "") { count = "01"; }
else
{
if(count <= 10) { count = "0"+(count+1); }
else { count = count+1; }
}
var new_folder = ",dir"+count+":"+escape("'.$folder.'");
var new_description = ",des"+count+":"+document.folder.folder_description.value;
datum = new Date();
einjahr = 1000*60*60*24*365;
verfall = new Date(datum.getTime() + einjahr);
document.cookie = old_links+new_folder+new_description+"; expires=" + verfall.toGMTString();
}
//-->
</script>
<form action="JavaScript:add_folder()" method="get" name="folder">
<span class="description">description:</span><br />
<input type="text" size="25" maxlength="300" class="target" name="folder_description" />
</form>
im Cookie wird richtig weitergezählt bis 08 wenn eintrag 09 hinzukommt wird allerdings 01 eingetragen.
Kann mir jemand weiterhelfen?
Sorry ich im Formular natürlich denn Absendeknop vergessen
also hier isser:
<input type="image" src="../images/add.gif" />
Hallo,
count = parseInt(count)
im Cookie wird richtig weitergezählt bis 08 wenn eintrag 09 hinzukommt wird allerdings 01 eingetragen.
Das liegt an der Verwendung von parseInt(). parseInt("08") und parseInt("09") liefern 0, weil die fuehrende Null die folgenden Ziffern als Oktalzahl markiert (Opera liefert dennoch 8 bzw. 9). Oktalzahlen bestehen aber nur aus den Ziffern 0 bis 7.
Loesung: Verwende den optionalen Radix-Parameter fuer das Basissystem: parseInt(count,10)
Das gilt auch fuer andere Systeme:
parseInt("1010",2) ergibt den Dezimalwert der Binaerzahl 1010 --> 10
MfG, Thomas
Danke. :) :) :)