14. juli 2006 - 12:58Der er
26 kommentarer og 1 løsning
Hvordan flettes disse to scripts sammen?
To spripts skal flettes sammen, så kun RESULTATET fra det enes scrips "textarea-felt" læses på siden. Problemet findes her: http://www.uthsen.dk/problem/problem.htm
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Ja. Det er der jeg gerne vil have siden til at fortælle hvilken drægtighedsuge katten er i og hvor mange dage, der er tilbage før fødsel. Det ville jo være super, hvis brugeren kun skal indtaste parringsdagen en enkelt gang og siden så automatisk regner de andre delpunkter ud. Jeg er sikker på, det jeg skriver er lettere skrevet end gjort.
Jammen det er da vist:) Blot skal scriptet også kunne udregne og vise : dato for 16 dage frem fra parringsdato=røde brystvorter datoer for 17 dage og 25 dage frem fra parringsdato= fosterblærer kan mærkes dato for 40 dage frem fra parringsdato= skelettet dannes dato for 25 dage og 45 dage frem fra parringsdato=forsigtighedperiode dato for 45 dage frem fra parringsdato=fostre kan mærkes dato for 147 dage (12uger) frem fra parringsdato=killingesalg.
Det ville være lækkert hvis brugeren kun skulle indtaste parringsdatoen og få resten serveret. Det ville jeg virkelig gerne. :)
[indtastning af parringsdag] [knap] røde brystvorter d. [felt med dato] '16 dage efter parring fosterblærer kan mærkes d. [felt med dato] '17-25 dage efter parring skelettet dannes d. [felt med dato] '40 dage efter parring forsigtighedsperiode fra d. [felt med dato] til [felt med dato] ' 20-45 dage efter parring fostre kan mærkes [felt med dato] '45 dage efter killingesalg fra d. [felt med dato] '127 dage efter
Du har næsten det hele listet. Blot skal der lige efter knappen komme det med drægtighedsugen med nedtælling (det dit fine script laver nu). Ellers er det rigtigt forstået. De dage du skrev i den forrige kommentar er ikke helt rigtigt afskrevet. -forsigtighedsperiode fra d. [felt med dato] til [felt med dato] ' 20-45 dage efter parring -----rettes til 20- 25dage -killingesalg fra d. [felt med dato] '127 dage efter-----rettes fra 127 til 147 dage.
Håber ikke jeg er for hård ved dig :) Ellers må du bede om lønforhøjelse. Kan jo se du er guld værd!!
Kunne først svare dig nu desværre...naboen bød på lidt vin.
Håber ikke umiddelbart det haster, men det tager ikke så forfærdelit lang tid at lave, dog er jeg nødt til at hoppe i seng nu da jeg skal op kl. 6 i morn og tage til beach party... dvs jeg er først hjemme igen engang søndag...
Men der skal jeg nok hurtigt smelte noget brugbart sammen, for jeg har en rimelig klar idé om hvad det er du søger, og hvordan det kan laves pænt :)
Det haster ikke mere end det "javer". Tag endelig den tid du skal bruge og selvfølgelig skal du være frisk til beach party. Håber du får en rigtig god dag, med masser af sjov. Ha' en god nats søvn!!
Det er helt i orden Carsten. Jeg leger lidt selv med mit problem, men desværre er jeg ikke nogen ørn til dette. Jeg tager dog ingen skade af lidt hjernevridning, til du igen er på banen. Hej så længe---
Det tror jeg bestemt også. Sidder og knokler og knokler men kan ikke altid få tingene til at køre sammen. Har nu fundet noget andet, men mangler stadig et par detaljer. Er der ikke en sød sjæl, der vil hjælpe mig med det? 1).Vil gerne have antal dage fra parring og til fødsel automatisk uden, der skal rettes i koden. 2.) Automatisk have regnet drægtighedsugen ud 3.) Linieskift fra kodeliden i textareafelt.
PLEASE - PLEASE HELP ME! Her er hele min nye kode: Har angivet problemfelterne <Head> <title>Fødselsberegning</title>
<script type="text/javascript" > function kittenTime(yr,mo,dy) { //Parameters are calendar Year,Month,Day
var monthNum; var mnameArray; var dayNum; var dnameArray;
var dy = document.frm.day.value; var mo = document.frm.month.value; var yr = document.frm.year.value; var gest = document.frm.gestation.value; var gest1 = document.frm.gestation1.value; var gest2 = document.frm.gestation2.value; var gest3 = document.frm.gestation3.value; var gest4 = document.frm.gestation4.value; var gest5 = document.frm.gestation5.value; var gest6 = document.frm.gestation6.value; var gest7 = document.frm.gestation7.value; var gest8 = document.frm.gestation8.value; var gest9 = document.frm.gestation9.value; var gest10 = document.frm.gestation10.value; var gest11 = document.frm.gestation11.value;
var matingDate = new Date(yr,mo-1,dy); var matingTime = matingDate.getTime() + 9600000; /*Adding 3 hrs to clear the hour-change for "Summer Time"*/
var birthTime = matingTime + (gest*24*3600000); var birthDate = new Date(birthTime); var birthYear = birthDate.getFullYear(); var birthDay = birthDate.getDate();
<!--//////////////////////////////Bryster//////////////////////////////////////--> var bryTime = matingTime + (gest1*24*3600000); var bryDate = new Date(bryTime); var bryYear = bryDate.getFullYear(); var bryDay = bryDate.getDate(); <!--///////////////////////////////////////////////
var hanTime = matingTime + (gest10*24*3600000); var hanDate = new Date(hanTime); var hanYear = hanDate.getFullYear(); var hanDay = hanDate.getDate();
<!--///////////////////////////////BLÆRER///////////////////////////////////////--> var bTime = matingTime + (gest2*24*3600000); var bDate = new Date(bTime); var bYear = bDate.getFullYear(); var bDay = bDate.getDate();
var skeletTime = matingTime + (gest4*24*3600000); var skeletDate = new Date(skeletTime); var skeletYear = skeletDate.getFullYear(); var skeletDay = skeletDate.getDate();
var for2Time = matingTime + (gest6*24*3600000); var for2Date = new Date(for2Time); var for2Year = for2Date.getFullYear(); var for2Day = for2Date.getDate();
var fostreTime = matingTime + (gest7*24*3600000); var fostreDate = new Date(fostreTime); var fostreYear = fostreDate.getFullYear(); var fostreDay = fostreDate.getDate();
var overTime = matingTime + (gest8*24*3600000); var overDate = new Date(overTime); var overYear = overDate.getFullYear(); var overDay = overDate.getDate();
var salgTime = matingTime + (gest9*24*3600000); var salgDate = new Date(salgTime); var salgYear = salgDate.getFullYear(); var salgDay = salgDate.getDate();
var dagTime = matingTime + (gest11*24*3600000); var dagDate = new Date(dagTime); var dagYear = dagDate.getFullYear(); var dagDay = dagDate.getDate();
//Turn month numbers into names var monthNum = birthDate.getMonth(); var monthNum1 = bryDate.getMonth(); var monthNum2 = bDate.getMonth(); var monthNum3 = b2Date.getMonth(); var monthNum4 = skeletDate.getMonth(); var monthNum5 = forDate.getMonth(); var monthNum6 = for2Date.getMonth(); var monthNum7 = fostreDate.getMonth(); var monthNum8 = overDate.getMonth(); var monthNum9 = salgDate.getMonth(); var monthNum10 = hanDate.getMonth(); var monthNum11 = dagDate.getMonth();
var mnameArray = new Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December");
//Turn day numbers into names var dayNum = birthDate.getDay(); var dayNum1 = bryDate.getDay(); var dayNum2 = bDate.getDay(); var dayNum3 = b2Date.getDay(); var dayNum4 = skeletDate.getDay(); var dayNum5 = forDate.getDay(); var dayNum6 = for2Date.getDay(); var dayNum7 = fostreDate.getDay(); var dayNum8 = overDate.getDay(); var dayNum9 = salgDate.getDay(); var dayNum10 = hanDate.getDay(); var dayNum11 = dagDate.getDay();
var dnameArray = new Array("Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"); <!--/////////////////////////////////////////////////////////////////////////////////////////-->
//Test for invalid input data if (isNaN(dy) || isNaN(mo) || isNaN(yr)) { window.alert("Det er ikke en rigtig dato. Indtast kun numre."); document.frm.day.focus(); return false }
if (dy<1 || dy>31) { window.alert("Dag "+dy+" og Måned "+mo+" er ikke valid."); document.frm.day.focus(); return false }
if (dy>30 && (mo == 2 || mo==4 || mo==6 || mo==9 || mo==11)) { window.alert("Dag "+dy+" og Måned "+mo+" er ikke en valid dato."); document.frm.day.focus(); return false }
if (dy>29 && mo==2) { window.alert("Dag "+dy+" og Måned "+mo+" er ikke en valid dato."); document.frm.day.focus(); return false }
if ((mo == 2 && dy == 29) && ((yr%4 != 0) || (yr%100 == 0 && yr%400 != 0))) { window.alert("29. Februar er ikke valid dato i år "+yr); document.frm.day.focus(); return false }
if (mo<1 || mo>12) { window.alert("Dag "+dy+" og Måned "+mo+" er ikke en valid dato"); document.frm.month.focus(); return false }
<!--//////////////INDSÆT PARRINGSDATO/////////////PROBLEM SCRIPTETSKAL TAGE DATOEN SELV FRA FORMEN//////////////-->
var now = new Date(); var parring = new Date("July 5, 2006"); var par = now.getTime() - parring.getTime(); par = Math.floor(par / (1000 * 60 * 60 * 24)); document.write( par + " dage siden parring og" + ("<br>")) ;
<!--//////////////INDSÆT FØDSELS DATO//////PROBLEM SCRIPTETSKAL TAGE DATOEN SELV FRA FORMEN/////////////////////-->
var now = new Date(); var then = new Date("September 6, 2006"); var gap = then.getTime() - now.getTime(); gap = Math.floor(gap / (1000 * 60 * 60 * 24)); document.write( gap + " dage til fødsel");
<!--///////////////////////////////////////////////////////////////////////SKELET/////////////////////////////////////////////////////////////////////////--> <center><hr> <div align="center"> <p ><font size="2" face="Arial">Skelettet dannes dag. 40 og killinger kan nu ses på røntgen: </p >
<!--///////////////////////////////////////////////////////////////////////Forsigtig/////////////////////////////////////////////////////////////////////////--> <center><hr> <div align="center"> <p ><font size="2" face="Arial">Vær forsigtig fra dag.25 til dag. 45. Ingen hårdhændet behandling!!
<!--///////////////////////////////////////////////////////////////////////FOSTRE/////////////////////////////////////////////////////////////////////////--> <center><hr> <div align="center"> <p ><font size="2" face="Arial">Fostre kan mærkes gennem bugen fra dag.45:
Havde jeg skam også, er ked af at du sku bøvle så meget med det, og beklager meget at jeg først svarer nu...
Men en god ting jeg kan se du skal lære er at gøre din kode simpel og kort :)
Lav tingene der hører sammen, sammen, brug funktioner hvor du kan genbruge variabler lige meget hvilken string du kalder fra :)
Den kode jeg har her kan det godt være du vil have en <hr> ind, men der indsætter du bare den efter <br>
Mvh Carsten
=============
<html> <head> <title>Dokument title</title> <script language="JavaScript"> function checkLen(x,y,ID){ if (y.length==x.maxLength){ var next=x.tabIndex; if (next<document.getElementById("Calculation").length){ document.getElementById("Calculation").elements[next].focus(); } } }
function RemakeMonth(number){ var tempStrMonth; switch(number) { case 1: tempStrMonth = "January"; break; case 2: tempStrMonth = "February"; break; case 3: tempStrMonth = "March"; break; case 4: tempStrMonth = "April"; break; case 5: tempStrMonth = "May"; break; case 6: tempStrMonth = "June"; break; case 7: tempStrMonth = "July"; break; case 8: tempStrMonth = "August"; break; case 9: tempStrMonth = "September"; break; case 10: tempStrMonth = "October"; break; case 11: tempStrMonth = "November"; break; case 12: tempStrMonth = "December"; break; default: tempStrMonth = ""; } return tempStrMonth; }
function spewDate(num) { var monthnum=num.getMonth(); var daynum=num.getDate(); var yearnum=num.getFullYear(); var monthStr=RemakeMonth(monthnum); return monthStr + " " + daynum + ", " + yearnum; }
function CalculateDueDate() { objDate = new Object(); objDate.date = document.getElementById("datenr1").value; objDate.month = document.getElementById("monthnr1").value; objDate.year = document.getElementById("yearnr1").value;
Hvordan mener du med at den går tilbage i kalenderen?
Jeg vil indrømme at den ikke kan finde ud af at sætte et max limit op, dvs hvis du overskrider nogle datoer så vil den lave der er -1 dage til fødsel...
Men jeg regner ikke med at folk vil "fucke" scriptet...
Det er rigtigt scriptet af og til regner fødselstidspunktet forkert alt efter dato.
Hvis du f.eks taster 31-5-2006 ind som parringsdato regner den korrekt fødselstidspunkt 2. aug,+ rigtig drægtighedsuge, men fejl datoer de andre steder. F.eks. skriver scriptet røde brystvorter 16 maj (før parringsdagen :). Det korrekte er 16 juli ( altså 16 dage efter parringsdatoen). Killingerne står til salg 26 dage efter fødsel :)
Det laaaaaaaaaaange script jeg postede tidligere er bedre til at regne rigtigt + det tager højde for valide datoer
Tror jeg fandt fejlen, hvis du vil så kan du vel selv udforme en evighedskalender som kan tjekke efter valide datoer :)
Ellers må du lige sige til hvis der er en fejl jeg har overset...
Mvh Carsten
============
<html> <head> <title>Dokument title</title> <script language="JavaScript"> function checkLen(x,y,ID){ if (y.length==x.maxLength){ var next=x.tabIndex; if (next<document.getElementById("Calculation").length){ document.getElementById("Calculation").elements[next].focus(); } } }
function RemakeMonth(number){ var tempStrMonth; switch(number) { case 1: tempStrMonth = "January"; break; case 2: tempStrMonth = "February"; break; case 3: tempStrMonth = "March"; break; case 4: tempStrMonth = "April"; break; case 5: tempStrMonth = "May"; break; case 6: tempStrMonth = "June"; break; case 7: tempStrMonth = "July"; break; case 8: tempStrMonth = "August"; break; case 9: tempStrMonth = "September"; break; case 10: tempStrMonth = "October"; break; case 11: tempStrMonth = "November"; break; case 12: tempStrMonth = "December"; break; default: tempStrMonth = ""; } return tempStrMonth; }
function spewDate(num) { var monthnum=num.getMonth(); var daynum=num.getDate(); var yearnum=num.getFullYear(); var monthStr=RemakeMonth(monthnum); return monthStr + " " + daynum + ", " + yearnum; }
function CalculateDueDate() { objDate = new Object(); objDate.date = document.getElementById("datenr1").value; if((objDate.date < 1) || (objDate.date > 31)) { alert("Den indtastede dag, er ikke valid"); return false; } objDate.month = document.getElementById("monthnr1").value; if ((objDate.month < 1) || (objDate.month > 12)) { alert("Den indtastede måned er ikke valid"); return false; } objDate.year = document.getElementById("yearnr1").value; if (objDate.year < 2006) { alert("Du skal indtaste en dato der er fra år 2006 og frem"); return false; }
var tempStrMonth = parseFloat(objDate.month); strMonth = RemakeMonth(tempStrMonth); var tempStrPeriod = strMonth + " " + objDate.date + ", " + objDate.year; var period = new Date(tempStrPeriod);
function CalculateDates(days) { if(days < 31) { days += 31; } Start = Date.parse(period); difference = days * 24 * 60 * 60 * 1000; Event = new Date(Start + difference);
var daynum=Event.getDate(); var monthnum=Event.getMonth(); var yearnum=Event.getFullYear(); var monthStr=RemakeMonth(monthnum); Period = monthStr + " " + daynum + ", " + yearnum; return Period; }
now = Date.parse(Date())/1000; then = Date.parse(period)/1000; difference3 = now - then; num = (difference3/86400)/7; weeks = Math.round(num);
Kære Carsten Det er rigtig flot og et meget stort stykke arbejde du har fået lavet, men scriptet regner altså meget forkert. Indtastes der dato 1-8-2006 fås:
Katten er nu i sin 0. drægtighedsuge uge. Der er 61 dage til fødsel October 2, 2006. Røde brystvorter fremkommer August 17, 2006 fosterblærer kan mærkes fra August 18, 2006 til August 26, 2006 skelettet dannes August 10, 2006 forsigtighedsperiode er fra August 21, 2006 til August 15, 2006 fostre kan mærkes August 15, 2006 killingesalg fra November 5, 2006
Det skulle have været: Katten er nu i sin 0. drægtighedsuge uge. Der er 63 dage til fødsel October 3, 2006. Røde brystvorter fremkommer August 17, 2006 fosterblærer kan mærkes fra August 18, 2006 til August 26, 2006 skelettet dannes September 10, 2006 forsigtighedsperiode er fra August 26, 2006 til September 15, 2006 fostre kan mærkes September 15, 2006 killingesalg fra December 26, 2006
I linien med killingesalg har du 127 dage. Rettes dette til det korrekte antal dage efter en parring nemlig til 147 dage, får man stadig forkert resultat. Scriptet må gøre noget forkert nogle steder i forhold til kalenderen.
Hvordan kan det være du har: CalculateDates(94) ved fødsel i koden og f.eks CalculateDates(16) ved brystvorter? – Kan godt se fødselstidspunktet bliver forkert med 63, men brystvorter bliver rigtig med indtastning af 16.
Denne her regner rigtigt, medmindre jeg ikke kan finde ud af datoen... Jeg har dog erfaret at den ikke kan finde ud af at regne når der skal skiftes år... Og må indrømme at jeg ikke er synderlig god til at arbejde med datoer så jeg kan ikke finde ud af hvorfor den ikke kan finde ud af det...
Desuden ved jeg hellere ikke hvorfor det anden fejl forekom, men den er rettet ved at filføje 31 dage til alle udregninger :)
Mvh Carsten
==============
<html> <head> <title>Dokument title</title> <script language="JavaScript"> function checkLen(x,y,ID){ if (y.length==x.maxLength){ var next=x.tabIndex; if (next<document.getElementById("Calculation").length){ document.getElementById("Calculation").elements[next].focus(); } } }
function RemakeMonth(number){ var tempStrMonth; switch(number) { case 1: tempStrMonth = "January"; break; case 2: tempStrMonth = "February"; break; case 3: tempStrMonth = "March"; break; case 4: tempStrMonth = "April"; break; case 5: tempStrMonth = "May"; break; case 6: tempStrMonth = "June"; break; case 7: tempStrMonth = "July"; break; case 8: tempStrMonth = "August"; break; case 9: tempStrMonth = "September"; break; case 10: tempStrMonth = "October"; break; case 11: tempStrMonth = "November"; break; case 12: tempStrMonth = "December"; break; default: tempStrMonth = ""; } return tempStrMonth; }
function spewDate(num) { var monthnum=num.getMonth(); var daynum=num.getDate(); var yearnum=num.getFullYear(); var monthStr=RemakeMonth(monthnum); return monthStr + " " + daynum + ", " + yearnum; }
function CalculateDueDate() { objDate = new Object(); objDate.date = document.getElementById("datenr1").value; if((objDate.date < 1) || (objDate.date > 31)) { alert("Den indtastede dag, er ikke valid"); return false; } objDate.month = document.getElementById("monthnr1").value; if ((objDate.month < 1) || (objDate.month > 12)) { alert("Den indtastede måned er ikke valid"); return false; } objDate.year = document.getElementById("yearnr1").value; if (objDate.year < 2006) { alert("Du skal indtaste en dato der er fra år 2006 og frem"); return false; }
var tempStrMonth = parseFloat(objDate.month); strMonth = RemakeMonth(tempStrMonth); var tempStrPeriod = strMonth + " " + objDate.date + ", " + objDate.year; var period = new Date(tempStrPeriod);
function CalculateDates(days) { days += 31; Start = Date.parse(period); difference = days * 24 * 60 * 60 * 1000; Event = new Date(Start + difference);
var daynum=Event.getDate(); var monthnum=Event.getMonth(); var yearnum=Event.getFullYear(); var monthStr=RemakeMonth(monthnum); Period = monthStr + " " + daynum + ", " + yearnum; return Period; }
now = Date.parse(Date())/1000; then = Date.parse(period)/1000; difference3 = now - then; num = (difference3/86400)/7; weeks = Math.round(num);
Hej igen Carsten Den regner heller ikke rigtigt! heller ikke selv om du lægger 31 dage til alle steder. Jeg ved dato og kalender er meget svært stof og der er ikke noget at sige til det driller os. Vi kan være glade for vi begge bliver klogere for hvert forsøg, så er alt jo ikke så galt.:)
OK Carsten Den regnede rigtigt med et par småjusteringer. FLOT KLARET
<html> <head> <title>Dokument title</title> <script language="JavaScript"> function checkLen(x,y,ID){ if (y.length==x.maxLength){ var next=x.tabIndex; if (next<document.getElementById("Calculation").length){ document.getElementById("Calculation").elements[next].focus(); } } }
function RemakeMonth(number){ var tempStrMonth; switch(number) { case 1: tempStrMonth = "January"; break; case 2: tempStrMonth = "February"; break; case 3: tempStrMonth = "March"; break; case 4: tempStrMonth = "April"; break; case 5: tempStrMonth = "May"; break; case 6: tempStrMonth = "June"; break; case 7: tempStrMonth = "July"; break; case 8: tempStrMonth = "August"; break; case 9: tempStrMonth = "September"; break; case 10: tempStrMonth = "October"; break; case 11: tempStrMonth = "November"; break; case 12: tempStrMonth = "December"; break; default: tempStrMonth = ""; } return tempStrMonth; }
function spewDate(num) { var monthnum=num.getMonth(); var daynum=num.getDate(); var yearnum=num.getFullYear(); var monthStr=RemakeMonth(monthnum); return monthStr + " " + daynum + ", " + yearnum; }
function CalculateDueDate() { objDate = new Object(); objDate.date = document.getElementById("datenr1").value; if((objDate.date < 1) || (objDate.date > 31)) { alert("Den indtastede dag, er ikke valid"); return false; } objDate.month = document.getElementById("monthnr1").value; if ((objDate.month < 1) || (objDate.month > 12)) { alert("Den indtastede måned er ikke valid"); return false; } objDate.year = document.getElementById("yearnr1").value; if (objDate.year < 2006) { alert("Du skal indtaste en dato der er fra år 2006 og frem"); return false; }
var tempStrMonth = parseFloat(objDate.month); strMonth = RemakeMonth(tempStrMonth); var tempStrPeriod = strMonth + " " + objDate.date + ", " + objDate.year; var period = new Date(tempStrPeriod);
function CalculateDates(days) { days += 31; Start = Date.parse(period); difference = days * 24 * 60 * 60 * 1000; Event = new Date(Start + difference);
var daynum=Event.getDate(); var monthnum=Event.getMonth(); var yearnum=Event.getFullYear(); var monthStr=RemakeMonth(monthnum); Period = monthStr + " " + daynum + ", " + yearnum; return Period; }
now = Date.parse(Date())/1000; then = Date.parse(period)/1000; difference3 = now - then; num = (difference3/86400)/7; weeks = Math.round(num);
Altid til tjeneste, når computeren og internettet tillader det...
Mvh Carsten
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.