Как правильно показать условие
Вот такая задача - выводиться таблица, в которой в некоторых тегах есть текст. Этот текст берётся как обычно
var variable = [id тега].innerHTML;, потом помещается во фрейм для работы с ним. Проходит это всё вполне нормально. Однако в некоторых тегах ничего нет, т.е. в разметке <td></td>. Ожидаемо ничего во фрейм не попадает и консоль выдаёт ошибку: Cannot read property 'innerHTML' of null. Пробовал поставить условие - при "пустоте", присвоить: var variable = '0';. Однако не помогло, также как и перебор вариантов в условии: if (variable !== ' '||variable !== " "||variable !==''||variable !==""||variable !==null){var variable = '0';}. Есть мысли, что ещё попробовать для правильного задания искомого условия? |
atanov,
А можно примеры таблицы и скрипта - вместо Цитата:
|
Весь код большой, выдёргиваю интересующие куски:
mysql_connect($host, $user, $password) or die("Cannot connect to MySQL."); mysql_select_db($database) or die("Cannot connect to the base."); $sql = "SELECT * FROM `table-1` .`Number` ASC LIMIT 0, 10000 "; $result = mysql_query($sql) or die(mysql_error()); while($row=mysql_fetch_assoc($result)) { echo '<table class = table-ms>'; echo '<td class = tdnumber>'.$row['Number'].'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['Ol']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['Des']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['QPA']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['QBP']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['QFP']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['QBM']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['QRU']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['QFF']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['CH']).'</td>'; echo '<td class = tdQ>'.htmlspecialchars_decode($row['SE']).'</td>'; echo '</table>'; } var con = el.innerHTML; if (con == ' '||con ==" "||con ==''||con ==""||con ==null){var con = '0';}else{} |
atanov,
А что такое el в скрипте? И еще - хорошо бы не php-код формирования таблицы, из которого еще неизвестно, что получится, а пример сформированной таблицы с клиента |
Dilettante_Pro
el в скрипте присваивается так: document.onclick = function mettrenom(e) { e = e || window.event; var el = e.target || e.srcElement; т.е. el это элемент по которому кликнули. А как сюда таблицу вставить с клиента? В общем-то она простая, но большая - почти 500 строк и 7 колонок. |
Вопрос решился не совсем ожидаемо - нужно было указать тождественно равно:
con ==='' |
atanov,
Очень странно, что проблема решилась таким образом, учитывая тот факт, что ошибка Cannot read property 'innerHTML' of null относилась не к проверке полученного значения, а к операции получения значения var con = el.innerHTML; Есть подозрение, что это было связано с областью видимости переменной el PS: Строго равно (===) Оператор возвращает true в том случае, если операнды строго равны (одного типа и равны). В отличие от оператора ==, данный оператор не приводит операнды к одному типу. |
Часовой пояс GMT +3, время: 18:43. |