Why do you need to name the input OTAuth[1]? Is it because there will be multiple inputs which are loaded into an array in PHP? If that's the case, you may want to instead call them "OTAuth_1" etc. so that JS doesn't confuse them with a JS array. Maybe you can just use the id and leave the name alone (though I don't know if that's a valid name for a form element... I would run it through the w3c validator).
Code:
<form name="formName">
<span
onclick="document.getElementById('OTAuth_1').value='220';">
RG-220
</span>
<br/>
<input type="text" id="OTauth_1" name="OTAuth[1]" value="">
</form>