webForumDet fria alternativet

Datumet räknas ut istället för att returneras som en sträng..

JavaScript

1 svar · 433 visningar · startad av oGGo

Medlem sedan apr. 2003120 inlägg
Frågan#1

Tjena!

Sitter här med en liten javascriptsfunktion som skall returnera ett datum men stöter på lite patrull.
Problemet är att den behandlar 2007-03-13 som ett tal (och således räknar ut det) istället för en sträng som jag vill att den skall behandlas som.
jag plockar datumet via en asp.NET kalender-kontroll.

Metoderna jag försökt använda är:

// antar att detta inte funkar i javascript, jag tänker nog klassisk javaprogrammering här..
Public String datumet()
	{
		return <%=enKalender.SelectedDate.ToShortDateString%>;
	}

//funkade inget vidare heller..
var datumet = <%=enKalender.SelectedDate.ToShortDateString%>.toString();

// funkade inte heller..
var datumet = String(<%=enKalender.SelectedDate.ToShortDateString%>);

var datumet = '' + <%=enKalender.SelectedDate.ToShortDateString%>

Snälla hjälp, jag blir rikstokig! =(

Medlem sedan aug. 20039 340 inlägg
#2

Public String hör inte alls hemma i Javascript. Javascript har itne typning för funktioner. funktion datumet(){...} ska det vara i de flesta fall.
Om du nu vill skriva ut det som en sträng måste du lägga det inom citationstecken. Så enkelt att jag nästan blir irriterad över att du itne kom på det själv.

function datumet()
	{
		return "<%=enKalender.SelectedDate.ToShortDateString%>";
	}

var datumet = "<%=enKalender.SelectedDate.ToShortDateString%>";

Notera att detta såklart gäller även för saker som inte är tal. Följande är lika fel som det du skrev ovan:

var datumet = String(<%=anvandarDatabas.hamtaNamn%>);

...eftersom namnet då skulle tolkas som en variabel, så att js-motorn t ex letar efter en variabel vid namn Zahid om detta namn skickas från funktionen.
Annars kan du även skicka strängen vidare och skapa ett Date-objekt, med de hjälpmetoder det innebär.

var datumet = new Date("<%=enKalender.SelectedDate.ToShortDateString%>");

alert(datumet.getHours());
280 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
142 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
141 ms — ändringar (db)