4

入力フィールドでユーザー入力を取得するにはどうすればよいですか?

QObject::connect( webView, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()) );
void slotLoadStarted()
{
   QWebFrame *frame = webView->page()->currentFrame();

   if (frame!=NULL)
   {
      QWebElementCollection collection = frame->findAllElements("input[name=email]");

      foreach (QWebElement element, collection)
      {
        qDebug() << "element.toOuterXml" << element.toOuterXml();
        qDebug() << "element.attribute value:" << element.attribute("value");
      }       
   }

}

属性を設定すると機能しますが、ユーザー入力をキャッチしたいのですが、アイデアはありますか?

4

2 に答える 2

6

QWebElement::evaluateJavaScript()を使用できます。

qDebug() << "element.attribute value:" << element.evaluateJavaScript("this.value").toString();
于 2010-09-13T21:05:48.093 に答える
1

この問題に関するバグがあるようです。この問題を回避する 1 つの方法は、Qt コード内から値を読み取るために使用する変更された値で非表示の要素を更新する JavaScript で onKeyPress イベント ハンドラーを作成することだと思います。

于 2010-09-09T11:48:49.333 に答える