För att lägga in värdet i en textfält använder du: Tjena Göran! Vad menar du när du säger "skickas den till Cal.js"? Hur använder du filen Cal.js? Tjena Göran! Den här raden: >(Konstigt namn, förresten. På svenska heter det "kalender", på engelska "calendar", ha,ha Ändra i funktion
Hej!
Hur skall man skriva för att istället för att datumet visas i en msgbox, skicka datumet till en textbox på sidan cal.asp.
Denna kod snutt visar msgboxen på cal.js
function goDay(date_){
alert(date_);
/Tobbe kan inte javascript:-/Sv: Ändra i funktion
document.FORMULÄRNAMNET.FÄLTNAMNET.value = date_;
Är cal.asp den sida där du kör javascriptet, är den öppen i ett annat fönster eller i en annan frame, eller vill du öppna sidan?Sv:Ändra i funktion
Sidan Cal.asp är själva kalendern och när man klickar på en dag så skickas den till Cal.js där skall den sen skicka datumet till textfältet som ligger på sidan cal.asp.
Jag har inte hunnit att testa ditt förslag ännu men jag undrar över om jag skall skriva så här
document.cal.asp.textfältet.value = date_;
Jag har bara hållit på med vb så det ser lite skumt ut!
Hälsningar
Torbjörn :-)Sv: Ändra i funktion
Jag vet inte vad du har döpt formuläret till, men du bör inte döpa det till "cal.asp" i alla fall... Vad står det i form-taggen?
<form ... name="vad har du satt här?" ...>Sv:Ändra i funktion
Här är formulären som jag har hittat.
Calender.asp
<!--
'-- Copyright 2002 Tassadar Software --
'-- This code is free to use as you want, but you MUST leave --
'-- these lines intact if yu want to use the code. --
'-- --
'-- www.gladh.nu/tassadar --
-->
<%
session.lcid = 1053
'-- declare variables --
Dim dDate
Dim sDate
Dim startDay
Dim endDay
'-- recevie date --
sDate = request.querystring("dDate")
txtDate = request.querystring("dDate")
if len(sDate) = 0 then
dDate = now()
else
dDate = CDate(sDate)
end if
%>
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="calender.css">
<script language='Javascript' type='text/javascript' src='calender.js'></script>
</head>
<body>
<input name="txtdate" type="text" id="txtdate">
<form name='calender'>
<table width='160' celspacing='1' celpadding='1' align='center' border='0'>
<tr>
<td width='10' align='left' valign='top' class='monthName'>
</td>
<td width='120' align='center' class='monthName' colspan='6'>
<%= MonthName(Month(dDate)) %> <%=Year(dDate) %>
</td>
<td width='20' align='right' valign='top' class='monthName'>
</td>
</tr>
<tr>
<td width='10' class='weekDayName'> </td>
<td width='20' align='right' valign='top' class='weekDayName'>
M
</td>
<td width='20' align='right' valign='top' class='weekDayName'>
T
</td>
<td width='20' align='right' valign='top' class='weekDayName'>
O
</td>
<td width='20' align='right' valign='top' class='weekDayName'>
T
</td>
<td width='20' align='right' valign='top' class='weekDayName'>
F
</td>
<td width='20' align='right' valign='top' class='weekDayName'>
L
</td>
<td width='20' align='right' valign='top' class='weekDayName'>
S
</td>
</tr>
<tr>
<td width='10' align='center' valign='top' class='thinLine'></td>
<td width='150' align='center' class='thinLine' colspan='7' background='thinline.gif'> </td>
</tr>
<%
'-- find start day and endDay --
startDay = getStartDay(Year(dDate),month(dDate))
endDay = getEndDay(CDate(Year(dDate) &"-" & month(dDate) & "-01"))
iDay = startDay
do until DateDiff("d",iDay,endDay) = 0
if weekday(iDay) = 2 then
response.write "<tr>"
response.write " <td width='10' class='weekDayName'>"& Right("0" & DatePart("ww",iDay,2,2),2) &"</td>"
end if
Call writeDay(iDay, month(dDate))
if weekday(iDay) = 1 then
'response.write " <td width='10' class='weekDayName'> </td>"
response.write "</tr>"
end if
iDay = DateAdd("d",1,iDay)
loop
%>
<td width='10' align='center' valign='top' class='thinLine'></td>
<td width='150' align='center' class='thinLine' colspan='7' background='thinline.gif'> </td>
</table>
</form>
</body>
</html>
<%
'-------------------------------------------------------------------------
'-- FUNCTIONS --
'-------------------------------------------------------------------------
function writeDay(thisDay, tempMonth)
'-- declare variables ------------------------------------------
Dim sclass
'-- get correct styleclass --
if weekday(thisDay) > 1 AND weekday(thisDay) < 7 then
sClass = "weekDay"
elseif weekday(thisDay) = 7 then
sClass = "weekEnd"
elseif weekday(thisDay) = 1 then
sClass = "freeDay"
end if
if month(thisDay) <> tempMonth then
sClass = sClass & "_NotActiveMonth"
else
sClass = sClass & "_ActiveMonth"
end if
if DateDiff("d", thisDay, now()) = 0 then
sClass = sClass & "_today"
end if
'-- write out day ------------------------------------------
if month(thisDay) <> tempMonth then
response.write " <td width='20' align='right' valign='top' id='_"& month(thisDay) &"_"& day(thisDay) &"' class='"& sClass &"'>"
response.write Day(thisDay)
response.write " </td>"
else
response.write " <td width='20' align='right' valign='top' id='_"& month(thisDay) &"_"& day(thisDay) &"' class='"& sClass &"' onClick=""goDay('"& thisDay &"');return false;"" onMouseOver='activeDay("& month(thisDay) &","& day(thisDay) &");return false;' onMouseOut='notActiveDay("& month(thisDay) &","& day(thisDay) &");return false;' >"
response.write Day(thisDay)
response.write " </td>"
end if
end function
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
'-- getStartDay() --
'-------------------------------------------------------------------------
function getStartDay(tYear, tMonth)
'-- declare variables ------------------------------------------
Dim tStartDay
'-- END: declare variables ----------------------------------
'-- get this months first days date --------------------------
tStartDay = CDate(tYear &"-" & tMonth & "-01")
'-- END: get this months first days date ------------------
'-- get the first day for the first week in this month ----------
select case Cint(WeekDay(tStartDay))
case 2
tStartDay = DateAdd("d",0,tStartDay)
case 3
tStartDay = DateAdd("d",-1,tStartDay)
case 4
tStartDay = DateAdd("d",-2,tStartDay)
case 5
tStartDay = DateAdd("d",-3,tStartDay)
case 6
tStartDay = DateAdd("d",-4,tStartDay)
case 7
tStartDay = DateAdd("d",-5,tStartDay)
case 1
tStartDay = DateAdd("d",-6,tStartDay)
end select
'-- END: get the first day for the first week in this month --
'-- uninit --------------------------------------------------
getStartDay = tStartDay
'-- END: uninit --------------------------------------------------
end function
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
'-- getStartDay() --
'-------------------------------------------------------------------------
function getEndDay(tStartDay)
'-- declare variables ------------------------------------------
Dim tEndDay
'-- END: declare variables ----------------------------------
'-- get this months first days date --------------------------
tEndDay = DateAdd("m",1,tStartDay)
'-- END: get this months first days date ------------------
'-- get the first day for the first week in this month ----------
select case Cint(WeekDay(tEndDay))
case 2
tEndDay = tEndDay ' DateAdd("d",7,tEndDay)
case 3
tEndDay = DateAdd("d",6,tEndDay)
case 4
tEndDay = DateAdd("d",5,tEndDay)
case 5
tEndDay = DateAdd("d",4,tEndDay)
case 6
tEndDay = DateAdd("d",3,tEndDay)
case 7
tEndDay = DateAdd("d",2,tEndDay)
case 1
tEndDay = DateAdd("d",1,tEndDay)
end select
'-- END: get the first day for the first week in this month --
'-- uninit --------------------------------------------------
getEndDay = tEndDay
'-- END: uninit --------------------------------------------------
end function
'-------------------------------------------------------------------------
%>
Calender.js
<!--
//-- Copyright 2002 Tassadar Software --
//-- This code is free to use as you want, but you MUST leave --
//-- these lines intact if yu want to use the code. --
//-- --
//-- www.gladh.nu/tassadar --
//-- declare variables ------------------------------------------
var isIE4 = false;
var isNN4 = false;
var isW3C = false;
var isDYN = false;
var sRef = '';
var sStyleRef = '';
//-- try to find what browser is used --------------------------
isIE4 = document.all;
if(!isIE4){
isNN4 = document.layers;
isW3C = document.getElementsByTagName;
}
isDYN= (isIE4 || isNN4 || isW3C);
//-- init the sRef and sStyleRef --------------------------
if(isIE4){
sRef = 'document.all';
sStyleRef = '.style';
}
if(isNN4){
sRef = 'document.layer';
sStyleRef = '';
}
if(isW3C){
sRef = 'document.getElementsByTagName("*")';
sStyleRef = '.style';
}
//-- FUNCTIONS --------------------------------------------------
//----------------------------------------------------------------
//-- activeDay() --
//----------------------------------------------------------------
function activeDay(iMonth, iDay){
oID = "_"+iMonth +"_"+iDay;
eval(sRef + "['"+ oID +"']" + sStyleRef +".border='1px solid #000000'");
}
//----------------------------------------------------------------
//----------------------------------------------------------------
//-- notActiveDay() --
//----------------------------------------------------------------
function notActiveDay(iMonth, iDay){
oID = "_"+iMonth +"_"+iDay;
eval(sRef + "['"+ oID +"']" + sStyleRef +".border='1px solid #EEEEEE'");
}
//----------------------------------------------------------------
//----------------------------------------------------------------
//-- notActiveDay() --
//----------------------------------------------------------------
function goDay(date_){
alert(date_);
}
//----------------------------------------------------------------
-->
Om det förklarar något
Tja tobbe!Sv: Ändra i funktion
<script language='Javascript' type='text/javascript' src='calender.js'></script>
talar om att javascript-filen inkluderas i sidan.
Den här raden:<form name='calender'>
talar om att formuläret heter "calender". (Konstigt namn, förresten. På svenska heter det "kalender", på engelska "calendar", det verkar vara någon blandning...)
Alltså blir det:document.calender.txtdate.value = date_;
Jag antar att det är det fältet du vill lägga värdet i? Du måste dock lägga fältet <b>inuti</b> formuläret, inte utanför.
Sv:Ändra i funktion
>det verkar vara någon blandning...)
Inte konstigt alls... ;)
Calend<b>e</b>r är gammal engelska. Calend<b>a</b>r är ny engelska... Bägge sätten att stava är ok enligt Oxford English.
Lite kuriosa:
Man lät revidera brittisk engelska under 1900-talet så att orden skulle "stavas som de låter"... Den amerikanska engelskan har inte reviderats på samma sätt och det sägs vara därför man i amerikansk engelska kan hitta exempel på ord som inte stavas som de låter, t.ex. theatre istället för theater m.fl... Sv:Ändra i funktion
Tack Göran!
Nu fick jag det att funka :-)
Öppen för en till grej????
Kan man känna av när ex, textfältet ändras.
Jag vill köra en uppdatering från databasen som läser av datumet i textfältet som ligger på en annan sida som ligger i en annan frame.
Förstår ni vad jag menar!
Hälsningar
Tobbe