Перейти к содержимому

Фотография

Как выставить "пустое значение" в React текстовое поле/поле вв


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 09 июня 2017 - 09:33

Дано:

Текстовое поле на реакте. При клике превращается в поле ввода, разрешая вводить, менять и удалять текст. При клике вне поля либо при нажатии Enter или TAB - рест-сервис отправляет новое значение на сервер, и поле превращается опять в текстовое с новым значением.

 

Есть код, который работает когда надо ввести новое, не пустое значение:

        descriptionField.click();
        WebElement descriptionFieldEditMode = waitForElementToBeVisible(By.xpath(descriptionFieldEditModeXPath(tracker)));
        descriptionFieldEditMode.clear();
        descriptionFieldEditMode.sendKeys(description);
        descriptionFieldEditMode.sendKeys(Keys.RETURN);

Нажимаем на текстовое поле, оно превращается в поле ввода, очищаем поле, вводим текст из параметра "description" например "123", отправляем "ввод" - и рест-запрос со значением "123" идёт на сервер, поле превращается обратно в текстовое с новым значением "123"

 

Проблема с выставлением пустого значения. Если в браузере руками выставить пустое значение и нажать энтер - тогда рест-сервис срабатывает, отправляет пустое значение на сервер, и поле принимает пустое значение. 

Но если прогоняешь код на Селениуме, то после "sendKeys(Keys.RETURN)" происходит следующее: 

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

 

Пробовал и ТАБ слать, и ENTER, и слать их через Actions, и кликать вне поля - не помогает, браузер сразу же после этого восстанавливает в поле старое значение

 

Есть идеи как можно заставить браузер понять что "пустое значение" это и есть новое значение?


  • 0

#2 ermakidze

ermakidze

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Александр

Отправлено 09 июня 2017 - 11:44

А если попробовать вначале присвоить description = "". То есть присвоить строковою переменную из 0 символов


  • 0

#3 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 09 июня 2017 - 13:58

 

 

А если попробовать вначале присвоить description = "". То есть присвоить строковою переменную из 0 символов

да, всё работает оказывается. это у меня баг в аппликации, уже попросил админов удалить пост


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных