3 textboxes with multiple value combinations to one output I would like if someone who has more experience in JavaScript reviewed this. I went through and tried to minimize this as much as possible, but I still feel this could be smaller and more compact.

I am really just looking to see if my way of making a low-level solution in JavaScript needs to be a bit more polished. 

function sum() {
    var b1 = document.getElementById('Text1').value;
    var b11 = parseInt(b1);
    var b2 = document.getElementById('Text2').value;
    var b22 = parseInt(b2);
    var b3 = document.getElementById('Text3').value;
    var b33 = parseInt(b3);

    var a = b11 || b22 || b33;
    var b = (b11 + b22) || (b11 + b33) || (b22 + b11) || (b22 + b33) || (b33 + b11) || (b33 + b22);
    var c = b11 + b22 + b33;

    if (a &gt; 0) {
        document.getElementById('result').innerHTML = a;
    }
        else if (a &lt; 1) {
            document.getElementById('result').innerHTML = "";
        }
    if (b &gt; 0) {
        document.getElementById('result').innerHTML = b;
    }
    if (c &gt; 0) {
        document.getElementById('result').innerHTML = c;
    }
}


CodePen Demo
If I understand correctly, you want to add up all the fields, and print the result. If this is the case, you are complicating things quite a lot. If you think of the problem in terms transformations it will be easier to reason about. You have a list of numbers that you want to add up, that's the problem at hand; the boolean logic expressions are not necessary, because zero doesn't add anything (it's an identity element), and addition is commutative. To prevent non-numbers from being entered, you'd check for NaN, and return identity (zero) if it is not a number, effectively doing nothing:

function sum() {
  var result = document.getElementById('result')
  var ids = ['Text1','Text2','Text3']
  result.textContent = ids
    .map(function(id) {
      // + casts a number from a string
      var n = +document.getElementById(id).value
      return isNaN(n) ? 0 : n // identity
    })
    // add up all numbers
    .reduce(function(x, y){return x + y})
}


Ideally you'd also cache the elements to not query them each time the function runs, but I doubt it would make a big difference in this case.

Demo: http://codepen.io/anon/pen/JIwHx