La situación es esta:

Tengo dos controles TextBox de ASP.NET en un formulario de captura. En la mayorí­a de los casos el usuario deberá capturar el mismo valor en ambos. Entonces quiero hacer que cuando el usuario capture el primer campo y brinque al segundo (en ese momento se dispara el evento onblur de JavaScript del primer campo) el valor capturado se copie automáticamente al segundo campo.

Para hacer esto hay que combinar el uso de ASP.NET con JavaScript de la siguiente forma.

Primero crea la función VB.NET que genera el código JavaScript:

  1. Public Function SetText(ByVal Control1 As Control, ByVal Control2 As Control) As String
  2.     'Genera codigo JavaScript que copiara el contenido del campo Control1
  3.     'al campo Control2 en el momento que el usuario salga (onblur) del Control1
  4.     Dim Script As New System.Text.StringBuilder
  5.     Dim ClientID1 As String = Control1.ClientID
  6.     Dim ClientID2 As String = Control2.ClientID
  7.     With Script
  8.         .Append("document.getElementById('")
  9.         .Append(ClientID1)
  10.         .Append("').value = ")
  11.         .Append("document.getElementById('")
  12.         .Append(ClientID2)
  13.         .Append("').value;")
  14.     End With
  15.     Return Script.ToString
  16. End Function

La función anterior puede ir en el código de tu página. Ahora, en el evento Page_Load puedes usarla así:

  1. MiTextBox1.Attributes.Add("onblur", SetText(MiTextBox1, MiTextBox2))

Código creado basándome en: http://www.mredkj.com/vbnet/TextboxScriptFunctions.html

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


ocho − 5 =