Tjena! Onchange har jag för mig är för droplistor. Testa onKeyPress istället. Se http://www.mredkj.com/tutorials/validate.html Hej Pelle! Vill du verkligen göra det direkt när man har gjort en liten ändring? Är det inte när man lämnar fältet som det skall ske? Hej! Hej! Skall se ut så. Hej! Pröva detta fristående. Fungerar det hos dig? Hos mig fungerar det i både IE och Firefox. Det var faktiskt meningen. Men det händer iaf något när innehållet har ändrats. Hej! Hur ser den genererade HTML-koden ut? Kanske har det blivit något lustigt där... Hej Jag frågade efter den genererade koden, inte den genererande... Jag funderar på om det kan ha blivit något konstigt vid utskriften av datumet. Hej Just nu finns ju ingen händelsefångning (varken onchange eller onkeyup) alls på textrutan i http://www.itgaraget.se/bcup/cal/calender.asp. Hej Per! Ändra till onkeyup="this.form.submit()" i http://www.itgaraget.se/bcup/cal/calender.asp och låt oss pröva sidan efter det. Hej Per! För mig skickas formuläret i Firefox. IE däremot ger ett felmeddelande om att objektet inte stödjer egenskapen (om ändå IE kunde ge mer info...) Om jag tar bort </form> tagen så laddas sidan tider.asp om, när man ändrar datum med siffer tangenterna och tab. Hej!Får inte onchange att funka!!!
Varför får jag inte detta att fungera.
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>"onchange="this.form.submit();">
</form>
Jag vill ladda tider.asp när datum ändras i textfield automasikt, men får inte till det.
Tja!
TobbeSv: Får inte onchange att funka!!!
Sv:Får inte onchange att funka!!!
I vb finns Change då utförs en funktion, finns det inget som man kan använda i mitt fall utan att behöva klicka på knapp eller enter.
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>"onchange="this.form.submit();">
Jag ändrar datum med kalendern som skickar datumet till textfield och då när värdet ändras i textfield öppna sidan tider.asp med värdet från textfield för sortrering i databasen.
/TobbeSv: Får inte onchange att funka!!!
Sv:Får inte onchange att funka!!!
Ja det är det jag vill, nu måste man antingen klicka på submit eller markera texfältet och trycka på enter vore smidigare om sidan känner av när vardet i textfältet ändras köra
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>"onchange="this.form.submit();">
eller något dyligt men det funkar som det är nu förutom att det är manuellt.
/TobbeSv:Får inte onchange att funka!!!
Förlåt en dum fråga var lägger jag den?
Så här funkar inte.
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<input type=text name=textfield value="<%=Date()%>" onchange="this.document.form.calender.submit();"
</form>
</div>
Tydligen funkar inte det att köra en funktion när värde ändras i textfält?
Kan man kanske redan i calender.js göra något.
Här skickas datum till textfältet till calender.asp.
//----------------------------------------------------------------
function goDay(date_){
document.calender.textfield.value = (date_);
}
//----------------------------------------------------------------
TobbeSv: Får inte onchange att funka!!!
Men tror inte att det Submitas förrän man ändrat och lämnat text-fältet, med antingen musklick jämte eller en tab.
Får du något JS-fel? Händer någonting över huvudtaget?Sv:Får inte onchange att funka!!!
Jag får inga fel mess, funkar enbart om jag markerar textfältet och trycker på ENTER.
Ingen respons med TAB eller musklick samt lämnar textfältet.
/TobbeSv: Får inte onchange att funka!!!
<FORM ACTION ="javascript:alert('ok')" METHOD="POST" name="calender">
<INPUT type="TEXT" NAME="textfield" size="14" value="date" onkeyup="this.form.submit()">
</form>
Sv: Får inte onchange att funka!!!
Då kan du pröva
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>" onkeyup="this.form.submit();">
</form>Sv:Får inte onchange att funka!!!
Jag testade det redan vid föra försöket men det händer inget när datumet ändras enbart när jag trycker på enter.
Kan det bero på var form action ligger, skickar med koden :
<%
session.lcid = 1053
'-- declare variables --
Dim dDate
Dim sDate
Dim startDay
Dim endDay
'-- recevie date --
sDate = 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>
<div align="center">
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>" onkeyup="this.form.submit();">
</form>
</div>
<table width='160' celspacing='1' celpadding='1' align='center' border='0'>
<tr>
<td width='10' align='left' valign='top' class='monthName'>
src='arrowLeft.gif' border='0'>
</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'>
src='arrowRight.gif' border='0'>
</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
'-------------------------------------------------------------------------
%>Sv: Får inte onchange att funka!!!
Sv:Får inte onchange att funka!!!
Gerenerande html koden på calender.asp:
<div align="center">
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>" onkeyup="this.form.submit();">
</form>
</div>
Tider.asp:
dim sSearchString
sSearchString = Request.Form("textfield")
Men det funkar i tider.asp om man sätter markören i textfältet och trycker på Enter.
TobbeSv: Får inte onchange att funka!!!
Sv:Får inte onchange att funka!!!
Datum formatet som visas i textfältet 2005-09-01.
http://www.itgaraget.se/bcup/index.html
TobbeSv: Får inte onchange att funka!!!
Sedan undrar jag återigen. Är du verkligen säker på att du vill att formuläret skall skickas iväg för minsta lilla ändring i textrutan? Även om man har tagit bort sista siffran från <b>2005-01-02</b> så att det står icke-datumet <b>2005-01-0</b> ?Sv:Får inte onchange att funka!!!
Just nu finns ju ingen händelsefångning (varken onchange eller onkeyup) alls på textrutan i http://www.itgaraget.se/bcup/cal/calender.asp.
Okey!
Vad gör detta script för något?
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>">
Har även testat detta:
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type =text name=textfield value="<%=Date()%>" onchange="this.document.form.calender.submit();"
Ok detta:
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<input type=text name=textfield value="<%=Date()%>" onChange="this.value='Locked text!';" size=12 readonly>
Vad mer kan jag göra får inte till detta.
Sedan undrar jag återigen. Är du verkligen säker på att du vill att formuläret skall skickas iväg för minsta lilla ändring i textrutan? Även om man har tagit bort sista siffran från <b>2005-01-02</b> så att det står icke-datumet <b>2005-01-0</b> ?
Jag vill inte ha någon knapp för att uppdatera tiderna för vald dag, och fältet skall vara låst för användaren att ändra datum själv.
/Tobbe
Sv: Får inte onchange att funka!!!
Sv:Får inte onchange att funka!!!
SÅ här:
<FORM ACTION ="../tider.asp" METHOD= "POST" name= "calender" target=LFrame>
<INPUT type = TEXT NAME="textfield" size="14" value="<%=Date()%>" onkeyup="this.form.submit()"
Ingen förändring.
Tack för visat intresse!
/TobbeSv: Får inte onchange att funka!!!
Sv:Får inte onchange att funka!!!
Sv: Får inte onchange att funka!!!
Felkoden genererades pga att det var två </form> taggar.
Har nu letat i alla möjliga böcker och på nätet om det går att få till en sån här funktion.
Vad jag förstår kan detta inte utföras vare sig med onchange eller onkeyup etc.
Får hitta på en annan lösning på detta!
Hälsningar
Tobbe