Ik heb een pagina gemaakt waarmee ik iemand de mogelijkheid wil geven om een artikel op zijn site uitgesteld te plaatsen. Timer werkt. Maar Submit werkt niet. Het is geen Wordpressite en ook geen cronjob op server.

De code:

<!DOCTYPE html>
<HEAD>
<TITLE>Count Down Timer</TITLE>
<style>
input[type=submit]  {
    padding:5px 15px; 
    background:red; 
    color:#ffffff;
    border:0 none;
    cursor:pointer;
    -webkit-border-radius: 5px;
    border-radius: 5px; 
}

input[type=text] {
     background:aliceblue;
     color:green;
     font-weight: bold;
}

textarea {
     background:aliceblue;
     color:green;
     font-weight: bold;
}

h1 {
     color:red;
}
</style>
<SCRIPT>
var running = false
var endTime = null
var timerID = null
function startTimer(duration) {
    running = true
    now = new Date()
    now = now.getTime()
    // change last multiple for the number of minutes
    endTime = now + (1000 * 60 * duration)
    showCountDown()
    document.getElementById("submit").disabled = true
}

function showCountDown() {
    var now = new Date()
    now = now.getTime()
    if (endTime - now <= 0) {
        stopTimer('Einde')
        formSubmit()
        //  of alert("Time is up.  Put down your pencils.")
    } else {
        var delta = new Date(endTime - now)
        var theMin = delta.getMinutes()
        var theSec = delta.getSeconds()
        var theHour = delta.getHours() -1
        var theTime = ((theMin < 10) ? "0" : "") + theMin
        theTime +=  ((theSec < 10) ? ":0" : ":") + theSec
        document.forms[0].timerDisplay.value = "resttijd: "+ ((theHour<1) ? "0":theHour) + ":" +theTime
        if (running) {
            timerID = setTimeout("showCountDown()",1000)
        }
    }
}

function stopTimer(status) {
    clearTimeout(timerID)
    running = false
    document.forms[0].timerDisplay.value = status
    document.getElementById("submit").disabled = false
}

function formSubmit() {
    //activate submit button
    document.getElementById("submit").disabled = false;
    //and submit form
    document.getElementById("MyForm").submit();
} 
</SCRIPT>
</HEAD>
<BODY>
<center>
<h2>Artikel plaatsen</h2>
</center>
<FORM name="MyForm" id=MyForm" action="PlaatsArtikel.php" onkeypress="return event.keyCode != 13;">
      <center>
      Kopzin<br>
      <INPUT TYPE="text" NAME="KopArtikel" PLACEHOLDER="Kopzin" SIZE="100" required ><br><br>
      Tekst<br>
      <TEXTAREA ROWS="8" COLS="100" NAME="BodyArtikel" PLACEHOLDER="Tekst" required></TEXTAREA>
     <br><hr width="65%">
     Klik "verstuur nu" of klik op een van onderstaande knoppen voor uitgesteld verzenden.<br>
     <INPUT TYPE="button" NAME="startTime" VALUE="1 minuut" onClick="startTimer(1)">
     <INPUT TYPE="button" NAME="startTime" VALUE="1 uur" onClick="startTimer(60)">
     <INPUT TYPE="button" NAME="startTime" VALUE="3 uur" onClick="startTimer(180)">
     <INPUT TYPE="button" NAME="startTime" VALUE="6 uur" onClick="startTimer(360)">
     <INPUT TYPE="button" NAME="startTime" VALUE="9 uur" onClick="startTimer(540)">     
     <INPUT TYPE="button" NAME="startTime" VALUE="12 uur" onClick="startTimer(720)">     
     <br><br>
     <INPUT TYPE="button" NAME="clearTime" VALUE="Stop Timer" onClick="stopTimer('Gestopt!')" style="color:red;">
     <INPUT TYPE="text" NAME="timerDisplay" VALUE="00:00" Size="17">
     <br><br><hr width="65%"><center>
     <INPUT TYPE="submit" id="submit" NAME="submit" Value="Verstuur Nu" >
     </form>
</FORM>
</BODY>
</HTML>


Graag jullie hulp.
Wie weet stapt hij later wel op een CMS over.
Graag gedaan!
Hi Ariën, ik heb wel een oplossing gevonden. Door een ding aan te passen.

function formSubmit() {
    //activate submit button
    document.getElementById("submit").disabled = false;
    //and submit form
    document.getElementById("submit").click();
} 


De click drukt de Submit in. Kleine aanpassing. Neemt niet weg dat de hele oplossing een workaround is voor zijn probleem. Nogmaals dank.
Het blijft gewoon niet handig om je browser open te houden om iets te plaatsen. Zorg liever voor een oplossing dat je de publicatiedatum opslaat en serverside controleert.

Je kan deze in je .txt bestanden opslaan.
Of gebruik XML voor een betere structuur als je dergelijke metadata wilt opslaan. Hoewel een database nog verstandiger is.
Ik ga druk uitoefenen om het systeem ‘eindelijk’ over te zetten. Groet
En als iemand over een week iets wil publiceren, moet 'ie dan een week zijn PC aan laten staan?

Ik denk dat het handiger is als je inderdaad het moment van schrijven en het moment van publiceren ontkoppelt. Dit kun je heel eenvoudig doen door artikelen een status te geven en/of een publicatiedatum op grond waarvan je bepaalt of een artikel getoond moet worden of niet.

Vraag ik mij opnieuw af: waarom de hang naar werken met bestanden? Je bent ondertussen op een niveau bezig waarin je naar wat intelligentere automatisering moet gaan kijken dan -excusez le mot- het priegelen met bestanden. Dit werkt op een gegeven moment meer tegen dan mee, vooral wanneer je met (nu wellicht nog kleine, maar op den duur groeiende) collecties gestructureerde data werkt.

En vooral als je op deze collectie data allerlei vragen gaat afvuren waarbij je moet kunnen rekenen, en de data moet kunnen filteren, sorteren en manipuleren. Stel dat dadelijk alle artikelen in een (of meer) bestand(en) zitten. Stel vervolgens dat je verschillende auteurs hebt. Hoe trek je dan alle artikelen uit zo'n (of meerdere) bestand(en) als je geïnteresseerd bent in alle artikelen van de auteur "Henk" die dit jaar geschreven zijn? Dat is een hels karwei om dat uit een ongestructureerd bestand te trekken. En deze vragen zullen op den duur komen. Voor een backend waarin je deze data beheert, of een rapport waarin je dit soort statistieken verzamelt. Dit is een haast ondoenlijke klus als de data waarop je deze vraagstukken wilt loslaten totaal ongestructureerd is. In een database is dit anders, dan komt het ophoesten van al deze informatie neer op een query als:
SELECT *
FROM articles
WHERE author = 'Henk'
AND YEAR(publish_date) = YEAR()
AND published = 1
(NB dit is een voorbeeld, en daarom versimpeld)

Ik bedoel, dat lijkt mij simpeler dan bestanden uitpakken, doorploeteren, resultaten verzamelen et cetera.

Dus: wat is de reden dat je niet van het hulpmiddel "database" gebruik maakt? Heb je hier geen ervaring mee? (Gewoon beginnen!) Ondersteunt je webhost wel PHP maar niet het gebruik van databases? (Wie doet dat nog tegenwoordig, tijd om over te stappen?). Een andere reden? (Ik hoor het graag).

Op het moment dat je een artikelsysteem (of liever gezegd, een soort workflow) aan het bouwen bent kom je er eigenlijk niet meer omheen dat je van een soort van DB gebruikt. Het gebruik van platte bestanden schiet dan gewoon tekort.
Hoi Thomas, dank voor jouw stuk. Ik ga er helemaal in mee. Echter mijn kennis wil (nog) niet veranderen. Dit wordt het laatste dat ik voor hem doe op het oude platform van hem. Liever goed dan houtje touwtje.... ik werk liever database gestuurd omdat ik in tabellen het denkmodel kan vastleggen. Dank.

Reageren