JSFiddle - React, Tailwind, and code Playground

Pivotal Tracker_v3-Sign in (uses HTMLFormElement.prototype trick and also trying to create a good framework for automating form filling on many login webpages)

by dledle2

HTML

Pivotal Tracker_v3-Sign in (uses HTMLFormElement.prototype trick and also trying to create a good framework for automating form filling on many login webpages)

JavaScript

javascript:try { /*  var dumyVar1 = ServerData.toSource()  */
    /* removed Aug2016: var dummyVar2 = top.document.forms[0].authenticity_token.value; */
    var dummyVar2 = top.document.forms[0].credentials_username.parentNode;
    
} catch (e) { /*   top.document.location.href = 'https://login.live.com/ppsecure/post.srf?'  */ /*           my new code is actually able to handle the main login page  */ /*            instead of the first login failure page   */

    /* top.document.location.href = 'https://www.pivotaltracker.com/signin';    */
    top.document.location.href = 'https://www.pivotaltracker.com/signin?utf8=%E2%9C%93&credentials[username]=xxxxxEMAILnamexxxx%40hotmail.com&action=NEXT';
    
}

/* removed Aug2016:
var myPPFT;
myPPFT = top.document.forms[0].authenticity_token.value;
*/


/* myPPFT = myArray1[2].toString();  */
/*  alert (myPPFT);   */
function get2post_ver2(u, t) {
        var p = u.split('?')[0];
        p = 'https://login.live.com/ppsecure/post.srf?wa=wsignin1.0&rpsnv=12&ct=1401507407&rver=6.4.6456.0&wp=MBI&wreply=http://mail.live.com/JA/&lc=1033&id=64855&mkt=en-us&cbcxt=mai&snsc=1&bk=1401507408&uaid=ae7391fdaadc47ecae6036efa398a10e';
        p = 'https://www.pivotaltracker.com/dashboard';
        /* var p = ServerData['urlPost'].toString(); /*  var p =  'https://login.live.com/ppsecure/post.srf';  */
        /*  i still don't know the minimum vars to send to end up getting redirected to inbox instead of account settings screen  */

        var q = u.split('?')[1].split('&');
        var d = document;
        var f = d.createElement("form");
        f.setAttribute('action', p);
        f.setAttribute('method', 'POST');
        f.setAttribute('target', t || '_parent');
        f.style.display = 'none';
        for (i = 0; i < q.length; i++) {
            var e = d.createElement("input");
            var param = q[i].split('=');
            e.name = param[0];
            if (param.length >= 2) e.value = decodeURIComponent(param[1]);
      ...