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

Фотография

как остановить цикл FOR после ошибки


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

#1 ganzalik228

ganzalik228

    Активный участник

  • Members
  • PipPip
  • 79 сообщений
  • ФИО:Артур

Отправлено 17 мая 2012 - 09:33

есть вот такая вот проверочка: storeEval|
var input = window.document.getElementsByTagName('input'); for (var i = 0; i<input.length; i++) { if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') == 'rgb(204, 230, 255)') {testResult='passed';} else {testResult='failed';};}
|testResult

Проверяет всё хорошо, но!, беда в том, что результат при echo ${testResult} он показывает только из последнего input, и я не вижу, если ли ошибки в остальных инпутах. Как решить проблему? Может быть можно как-то при ошибке где-то в середине остановить цикл, и записать в testResult значение failed?
{testResult = 'failed'; break;}} не помогает, так мой результат теста всегда failed, если и цвета все правильные
  • 0

#2 psihozik

psihozik

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

  • Members
  • Pip
  • 39 сообщений

Отправлено 17 мая 2012 - 11:34

есть вот такая вот проверочка: storeEval|
var input = window.document.getElementsByTagName('input'); for (var i = 0; i<input.length; i++) { if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') == 'rgb(204, 230, 255)') {testResult='passed';} else {testResult='failed';};}
|testResult

Проверяет всё хорошо, но!, беда в том, что результат при echo ${testResult} он показывает только из последнего input, и я не вижу, если ли ошибки в остальных инпутах. Как решить проблему? Может быть можно как-то при ошибке где-то в середине остановить цикл, и записать в testResult значение failed?
{testResult = 'failed'; break;}} не помогает, так мой результат теста всегда failed, если и цвета все правильные

Можно как то так:
storeEval|
var testResult = "passed"; var input = window.document.getElementsByTagName('input'); for (var i = 0; i<input.length; i++) { if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') != 'rgb(204, 230, 255)') {testResult='failed'} else {};} return testResult
|testResult
Прерывания не будет, но testResult получите правильный. Если вам надо знать конкретно каком из импутов ошибка, то используйте массив.
  • 0

#3 achumagin

achumagin

    Активный участник

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 17 мая 2012 - 12:18

в c подобных языках цикл останавливается командой break
  • 0
ap-test-team.blogspot.com

#4 ganzalik228

ganzalik228

    Активный участник

  • Members
  • PipPip
  • 79 сообщений
  • ФИО:Артур

Отправлено 17 мая 2012 - 12:33


есть вот такая вот проверочка: storeEval|
var input = window.document.getElementsByTagName('input'); for (var i = 0; i<input.length; i++) { if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') == 'rgb(204, 230, 255)') {testResult='passed';} else {testResult='failed';};}
|testResult

Проверяет всё хорошо, но!, беда в том, что результат при echo ${testResult} он показывает только из последнего input, и я не вижу, если ли ошибки в остальных инпутах. Как решить проблему? Может быть можно как-то при ошибке где-то в середине остановить цикл, и записать в testResult значение failed?
{testResult = 'failed'; break;}} не помогает, так мой результат теста всегда failed, если и цвета все правильные

Можно как то так:
storeEval|
var testResult = "passed"; var input = window.document.getElementsByTagName('input'); for (var i = 0; i<input.length; i++) { if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') != 'rgb(204, 230, 255)') {testResult='failed'} else {};} return testResult
|testResult
Прерывания не будет, но testResult получите правильный. Если вам надо знать конкретно каком из импутов ошибка, то используйте массив.

не проверял Ваш метод, сделал так, работает: var input = window.document.getElementsByTagName('input');
var testResult = 'passed';
for(var i = 0; i<input.length; i++) {
if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') != 'rgb(204, 230, 255)') {
testResult = 'failed';
break;
}
  • 0


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

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