Ok, om det som står i fältet datum inte är samma som ASP-variabeln date så skall det komma upp en fråga om det är ok att ändra fältet till det dagens datum. Stämmer det? I så fall skall första return bytas ut om if, else-satsen blir onödig (ser ut som du vill göra en tilldelning, men det är en jämförselse (== står för jämförelse, = för tilldelning)). Sen är det ett } för mycket. Alltså;
if(document.frmNy.datum.value != "<%=date%>"){
if(confirm('Vill du ändra nyhetens datum till dagens datum? (<%=date%> )'));
document.frmNy.datum.value = "<%=date%>";
}
return true;
Ett "lika med"-tecken (=) är en tilldelning. <%=date%> är en ASP-sats som byts ut mot värdet av "date" innan sidan skickas till användaren. Det som kommer fram kan alltså lyda; document.frmNy.datum.value = "2002-01-14"; d.v.s. en ovillkorlig tilldelning, du sätter fältet datum till angivet värde. Detta kommer att funka fint, men kan även göras direkt i formulärsfältet med;
<script>
function chkFields()
{
if (document.frmNy.rubrik.value == "") {alert('Du måste skriva in en rubrik.'); return false;}
if (document.frmNy.skribent.value == "") {alert('Du måste fylla i vem som skrivit nyheten.'); return false;}
if (document.frmNy.datum.value == "") {alert('Du måste skriva i datumet.'); return false;}
if (document.frmNy.text.value == "") {alert('Du måste skriva text i rutan.'); return false;}
if(document.frmNy.datum.value != "<%=date%>"){
if(confirm('Vill du ändra nyhetens datum till dagens datum? (<%=date%> )'));
document.frmNy.datum.value = "<%=date%>";
}
return true;
}
</script>
function chkFields(){
if (document.frmNy.rubrik.value == "") {
alert('Du måste skriva in en rubrik.'); return false;
} else if (document.frmNy.skribent.value == "") {
alert('Du måste fylla i vem som skrivit nyheten.'); return false;
} else if (document.frmNy.datum.value == "") {
alert('Du måste skriva i datumet.'); return false;
} else if (document.frmNy.text.value == "") {
alert('Du måste skriva text i rutan.'); return false;
} else {
if(document.frmNy.datum.value != "<%=date%>"){
if(confirm('Vill du ändra nyhetens datum till dagens datum? (<%=date%> )'));
document.frmNy.datum.value = "<%=date%>";
}
return true;
}
}
* om jag hämtar en nyhet som har datum t.ex 2002-01-12, slänger in datan i mitt formulär och klickar på submit, så vill jag att den skall fråga "Vill du sätta dagens.... bla bla". Om jag väljer ja, skall det bli dagens datum och den skall spara datan. Om jag väljer nej, skall datumet i formet (2002-01-12) förbli orört och sparas som det är.
Nu insertar den dagens datum oavsett vad jag väljer, så det blir alltid dagens datum om jag trycker på submit.