Веб-страница не распознает текст, введенный в текстовое поле

Итак, я устанавливаю значение текстового поля, затем нажимаю кнопку, чтобы отправить поиск. Значение в текстовом поле показывает, что я хочу, но когда я запускаю нажатие кнопки, веб-сайт выдает мне сообщение об ошибке на странице, как если бы значение текстового поля было пустым (хотя я смотрю на него и оно показывает что я хотел).

Теперь, если я вручную нажму на кнопку, он все еще думает, что текстовое поле пусто. Но если я вручную нажимаю на текстовое поле (просто нажимаю, ничего не меняю), затем вручную нажимаю на кнопку, это работает.

Очевидно, что за кулисами происходит что-то, что требует, чтобы текстовое поле было в фокусе, прежде чем страница распознает то, что было введено.

    private void SetText(string elementID, string text)
    {
        foreach (HtmlWindow hw in this.webBrowser1.Document.Window.Frames)
        {
            HtmlElement element = hw.Document.GetElementById(elementID);
            if (element != null)
            {
                element.SetAttribute("value", text);
                // here's where I'm trying things
                break;
            }
        }
    }

Вот что я попробовал (не уверен, что все это были даже правильные вещи, но я все равно попробовал:

Я попытался установить фокус на текстовом поле и затем удалить его, установив его на кнопку - element.Focus(), а затем button.Focus() перед нажатием кнопки.

Я попытался вызвать измененное событие - element.InvokeMember("изменить"), element.InvokeMember("изменено"), element.InvokeMember("onchange"), element.InvokeMember("textoted").

Я пытался вызвать событие фокуса - element.InvokeMember("focus").

Я пытался вызвать событие lostfocus - element.InvokeMember("lostfocus").

Я понятия не имею, что значит, что веб-страница должна сработать, когда кто-то на самом деле наберет текстовое поле, но, по-видимому, она не позволяет странице "видеть" то, что было размещено там моим кодом.

Есть идеи?

1 ответ

Оказалось, что было 3 текстовых поля (каждое с немного отличающимся именем), которые так или иначе связаны между собой. Значение всех 3 должно быть установлено, прежде чем кнопка будет работать должным образом. Я думал, что попробовал это, но, возможно, я не делал все 3 раньше, или, может быть, они были в неправильном порядке. Тьфу.

Другие вопросы по тегам