JSFiddle - React, Tailwind, and code Playground

by Tom Louwerse

HTML

<h2>Verschil tussen twee partijen in één peiling significant?</h2>

<p>Vul hieronder het aantal respondenten en zetelaantallen van twee partijen in één peiling in.</br>Aantal respondenten:
    <input type="text" id="resp" name="resp" value="1004">
    </br>Aantal zetels partij 1:
    <input type="text" id="p1" name="p1" value=26>
    </br>Aantal zetels partij 2:
    <input type="text" id="p2" name="p1" value=28>
    </br>
    <input type="submit" value="Bereken" onClick="javascript:docalc();return">
    </br>
    <div id="out"></div>
</p>

CSS

h2 {
    font-family:georgia;
}
p {
    font-family:georgia;
}

JavaScript

function docalc() {
    var r = parseInt(document.getElementById('resp').value);
    var z1 = parseInt(document.getElementById('p1').value);
    var z2 = parseInt(document.getElementById('p2').value);

    var p1 = z1 / 150;
    var p2 = z2 / 150;

    var d = p1 - p2;
    var se = Math.sqrt(((p1 + p2) - Math.pow((p1 - p2), 2)) / (r - 1));
    var ci = 1.96 * se;
    var ci_lo = d - ci;
    var ci_hi = d + ci;

    var sign = Math.abs(d / se) > 1.96;

    var message1 = '<p>Het verschil tussen partij 1 en partij 2 is ' + (Math.round(d * 1000) / 10).toString() + '% <br/>';
    var message2 = 'De standaardfout van dit verschil is: ' + (Math.round(se * 1000) / 10).toString() + '% <br/>';
    var message3 = 'De 95% betrouwbaarheidsinterval ligt tussen de ' + (Math.round(ci_lo * 1000) / 10).toString() + '% en de ' + (Math.round(ci_hi * 1000) / 10).toString() + '% <br/>';

    if (sign == true) {
        var message4 = 'We kunnen concluderen dat het verschil significant afwijkt van nul.</p>'
    } else {
        var message4 = 'We kunnen <b>niet</b> concluderen dat het verschil significant afwijkt van nul.</p>'
    }

    var message5 = '<i> Let op, deze resultaten zijn alleen geldig voor peilingen gebaseerd op willekeurige steekproeven</i>';

    var message = message1 + message2 + message3 + message4 + message5;
    document.getElementById('out').innerHTML = message.toString();



};