Javascript Get Element by Id y establece el valor

Tengo una función javascript a la que le paso un parámetro. El parámetro representa la identificación de un elemento (un campo oculto) en mi página web. Quiero cambiar el valor de este elemento.

function myFunc(variable){
  var s= document.getElementById(variable);
  s.value = 'New value'
}

Cuando hago esto, recibo un error de que el valor no se puede establecer porque el objeto es nulo. Pero sé que el objeto no es nulo porque lo veo en el código html generado por el navegador. De todos modos, he intentado el siguiente código para depurar

function myFunc(variable){
  var x = variable;
  var y  = 'This-is-the-real-id'
  alert(x + ', ' + y)
  var s= document.getElementById(x);
  s.value = 'New value'
}

Cuando aparece el mensaje de alerta, ambos parámetros son iguales, pero aún así recibo el error. Pero todo funciona bien cuando lo hago.

  var s= document.getElementById('This-is-the-real-id');
  s.value = 'New value'

Como puedo arreglar esto por favor

EDITAR

El elemento para el que estoy configurando el valor es el campo oculto y el ID se determina dinámicamente, a medida que se carga la página. He intentado agregar esto en la función $ (documento) .ready pero no funcionó

Respuestas a la pregunta(5)

Su respuesta a la pregunta