Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: cael1011 en 30 Enero 2017, 02:28 am



Título: Pasar escrito de un TextBox a una pagina web
Publicado por: cael1011 en 30 Enero 2017, 02:28 am
Me podrian ayudar a pasar un texto de un textbox a una pagina web, alguien me puede ayudar con esto :) gracias, he intentado, pero no consigo pasar el texto.


Código
  1. Dim elementos As HtmlElementCollection = WebBrowser1.Document.All
  2.        For Each elemento As HtmlElement In elementos
  3.            If elemento.GetAttribute("name") = "message" Then
  4.                elemento.SetAttribute("value", TextBoxPARRAFO.Text)
  5.            End If
  6.        Next

código sección de escritura en la pagina web.

Código
  1. <div class="mentions" id="u_0_5h" data-sigil="m-mentions-root" data-store-id="11"><div class="mentions-placeholder" id="u_0_5i" data-sigil="js_placeholder">Escriba algo</div><textarea class="composerInput mentions-input" aria-label="Escribe algo" rows="1" data-store="{&quot;defaultvalue&quot;:&quot;&quot;,&quot;initial_weak_references&quot;:[]}" data-sigil="composer-textarea m-textarea-input" data-autoid="autoid_95" data-store-id="10" id="uniqid_1" placeholder=""></textarea><input data-sigil=" mentionsHiddenInput" type="hidden" name="message" value=""><div class="mentions-shadow" aria-hidden="true" style="word-spacing;"></div></div>


Título: Re: Pasar escrito de un TextBox a una pagina web
Publicado por: z3nth10n en 30 Enero 2017, 14:08 pm
Buenas cael,

siendo un div lo que contiene el texto, no creo que así consigas modificar el texto...

De hecho, hay un div y un textarea, te aconsejaría poner un poco mejor distribuido el codigo HTML, para hacer más facil su comprension...

Lo que aquí ocurre es que habrá un CSS personalizado para dar el aspecto de "caja de texto"... El textarea está ahí para cubrir incompatibilidades con navegadores antiguos, supongo...

En cualquier caso, tendrías que mirar por el atributo arial-label

Código
  1. If elemento.GetAttribute("arial-label") = "message"

Código
  1. elemento.SetAttribute("arial-label", TextBoxPARRAFO.Text)

O bien, si tu proposito fuese modificar el div, por el InnerText o InnerHtml, según tu proposito:

https://msdn.microsoft.com/es-es/library/system.windows.forms.htmlelement(v=vs.110).aspx

Esto es igual que en javascript, usa InnerText si solo vas a introducir texto o InnerHtml si quieres introducir texto que contenga HTML para que este sea interpretado. Recuerda, que OutterText y OutterHtml, tiene la misma funcionalidad, salvo que esta vez modificaras el elemento que manipules.



Lo que aquí ocurre es que estas modificando un input oculto, por tanto no verás ningún cambio, prueba a cambiarle el type="hidden" por type="text", por ejemplo.

Un saludo.


Título: Re: Pasar escrito de un TextBox a una pagina web
Publicado por: Eleкtro en 30 Enero 2017, 14:31 pm
Hola. Quizás a lo que ya ha dicho el compañero @IKillNukes cabría añadir que el tag del "input" está abierto, no se si será de mucha importancia pero en .NET no me compila a menos que lo corrija cerrando el tag en el código fuente que has proporcionado... aunque de todas formas no me renderiza el input/caja de texto en el form web (usando el host de IE de .NET), sin embargo en el Firefox si, ¡no sé por qué!.

Saludos!


Título: Re: Pasar escrito de un TextBox a una pagina web
Publicado por: z3nth10n en 30 Enero 2017, 20:17 pm
Ya estuve revisando que ocurría, y era que al ejecutar esa sintaxis la versión del interprete de HTML no reconoce las etiquetas vacias que no sean cerradas... Como por ejemplo <input ... />

A su vez, no se renderizan porque supongo que IE no reconocerá elementos con atributos personalizados, la flexibilidad de IE es abismal.

Un saludo.