Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение getElementById и его проверка (https://javascript.ru/forum/misc/67754-izmenenie-getelementbyid-i-ego-proverka.html)

Sayler91 06.03.2017 17:29

Изменение getElementById и его проверка
 
Добрый день.
Есть документ.html, в нем есть число например "121356789" и есть дата "12.13.1956". Можно ли как то сделать чтоб, бралось это число "121356789" изменялось и проверяло действительно ли получилось "12.13.1956", если да то цвет backgroundColor="green" у даты, если не совпало то backgroundColor="red".

рони 06.03.2017 18:02

Sayler91,
у вас немного странный метод для валидации таблицы.
<!DOCTYPE html>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>

<body>
    <table>
        <tr>
            <th>Обращение:</th>
            <td>
                <span id="DATA" xmlpathvalue="//Information/Who">12.13.1956</span></td>
            <td>
                <span id="_DATA" class="PrintFill" xmlpathvalue="//New_Information/Who">12131956</span></td>
        </tr>

    </table>


    <input name="" type="button" value="test" onclick="test();">
    <script>
        function test() {
            var a = document,
                b = a.getElementById("DATA"),
                a = a.getElementById("_DATA");

            a.style.backgroundColor = b.textContent == a.textContent.replace(/(\d{2})(\d{2})/, "$1.$2.") ? "green" : "red";
        }
    </script>
</body>

</html>

Sayler91 06.03.2017 18:07

Спасибо большое, я еле сформулировал, а вы превратили "это" в рабочий код. Это все для работы, у меня есть массив различных данных, решил оптимизировать ))))

Sayler91 06.03.2017 18:15

Все таки мне нужно по другому, в нужном числе "111256789" есть дата рождения: 56 = 1956, 12 = месяц, 11 = число.

рони 06.03.2017 18:22

Sayler91,
<!DOCTYPE html>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>

<body>
    <table>
        <tr>
            <th>Обращение:</th>
            <td>
                <span id="DATA" xmlpathvalue="//Information/Who">12.11.1956</span></td>
            <td>
                <span id="_DATA" class="PrintFill" xmlpathvalue="//New_Information/Who">111256789</span></td>
        </tr>

    </table>


    <input name="" type="button" value="test" onclick="test();">
    <script>
        function test() {
            var a = document,
                b = a.getElementById("DATA"),
                a = a.getElementById("_DATA");

            a.style.backgroundColor = b.textContent == a.textContent.replace(/(\d{2})(\d{2})(\d{2})(\d+)/, "$2.$1.19$3") ? "green" : "red";
        }
    </script>
</body>

</html>

учите Регулярные выражения

Sayler91 06.03.2017 18:31

Спасибо еще раз. Механизм я понял, буду делать под мои варианты.


Часовой пояс GMT +3, время: 06:41.