Pasar escrito de un TextBox a una pagina web

Iniciado por cael1011, 30 Enero 2017, 02:28 AM

0 Miembros y 1 Visitante están viendo este tema.

cael1011

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 (vbnet) [Seleccionar]
Dim elementos As HtmlElementCollection = WebBrowser1.Document.All
        For Each elemento As HtmlElement In elementos
            If elemento.GetAttribute("name") = "message" Then
                elemento.SetAttribute("value", TextBoxPARRAFO.Text)
            End If
        Next


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

Código (php) [Seleccionar]
<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>

z3nth10n

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 (vbnet) [Seleccionar]
If elemento.GetAttribute("arial-label") = "message"

Código (vbnet) [Seleccionar]
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.

Interesados hablad por Discord.

Eleкtro

#2
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!








z3nth10n

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.

Interesados hablad por Discord.