2014-10-10 83 views
0

有一堆網站帶有「搜索」輸入框。
如果我手動輸入一個單詞,那麼它會自動搜索而無需點擊任何按鈕。其他文字輸入法?

使用下面的代碼:

   GeckoInputElement input = (GeckoInputElement)geckoHtmlElement; 
      input.Value = "searchword"; 

的我看到了搜索輸入框填充,但沒有自動發生。
如果我手動添加空間或任何字符,則網站按預期工作。
自動搜索我想要的單詞。

我試過使用input.Focus();但仍然相同。
任何想法如何以更高級的方式或類似的東西輸入文本到搜索框?

+0

您似乎在使用服務器端代碼來填充元素。做這種東西需要的代碼必須在客戶端 – 2014-10-10 13:53:35

+0

是的,我想到了這一點。 Didnt知道如何解釋。任何想法如何使它clientise它可以工作,因爲我手動輸入文本? – Edgar 2014-10-10 13:54:25

+0

也許造成「模糊」將起作用。要麼直接調用它,要麼將焦點移到其他地方以強制模糊事件。這可能是有用的:http://stackoverflow.com/questions/5212651/blur-vs-onblur – 2014-10-10 15:17:51

回答

2

我認爲這裏的解決方案是手動觸發觸發搜索的事件 - 例如keyup事件。我有我加入這個代碼解決同樣的問題:

nsAStringBase eventType = (nsAStringBase)new nsAString("keyup"); 
      var ev = browser.Document.CreateEvent("HTMLEvents"); 
      ev.DomEvent.InitEvent(eventType, false, false); 
nameBox.GetEventTarget().DispatchEvent(ev); 

你需要檢查你的網頁,看看是否有連接到您輸入的任何JavaScript事件。 祝你好運!

相關問題