Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Скрипт не работает в Опере и IE (https://javascript.ru/forum/css-html-browser/45179-skript-ne-rabotaet-v-opere-i-ie.html)

alex-boa 18.02.2014 12:25

<input onclick="yaCounter23826040.reachGoal('zakazzvonka' ); return true;">
только ему надо присвоить тип image и картинку какую-нибудь вставить. я её немного здесь упростил. Верстал дизайнер, косяков вагон…
...ну или можно просто тип кнопки присвоить...

danik.js 18.02.2014 12:38

Блин, че ты панику развел? Твой код работает без всяких изменений. Тестил в опере 12.14 под виндой и в IE9
<!DOCTYPE html>
<meta charset="utf-8" />
<form method='POST' name="myForm" onsubmit="return validateForm()">
                     
                    <input type='text' name='name' class='input' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваше Имя':this.value;" value="Ваше Имя">
                     
                    <input type='text' name='phone' class='input' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваш Телефон':this.value;" value="Ваш Телефон">
                     
                    <input type='text' name='meil' class='input' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваш Email':this.value;" value="Ваш Email">
                     
                    <textarea name="comment" cols="27" rows="3" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?' Ваш Комментарий':this.value;" value="Ваш Комментарий">Ваш Комментарий</textarea>
                     
                    <input onclick="yaCounter23826040.reachGoal('zakazzvonka'); return true;">
                    <input type='hidden' name='qwe' value='1'>
                    <button type="submit">s</button>
                </form>
<script>
                    function validateForm()
                    {
                    var x=document.forms["myForm"]["name"].value;
                    var y=document.forms["myForm"]["phone"].value;
                    var z=document.forms["myForm"]["meil"].value;
                     
                    if (x==null || x=="Ваше Имя" || x==" Ваше Имя")
                      {
                      alert("Необходимо заполнить поле Имя!");
                      return false;
                      }
                    if ((y==null || y==" Ваш Телефон" || y=="Ваш Телефон") && (z==null || z==" Ваш Email" || z=="Ваш Email"))
                      {
                      alert("Необходимо заполнить поле Телефон или Email!");
                      return false;
                      }
                    }
            </script>

рони 18.02.2014 12:46

Цитата:

Сообщение от danik.js
Блин, че ты панику развел? Твой код работает без всяких изменений. Тестил в опере 12.14 под виндой и в IE9

также добавил кнопу submit всё ок

alex-boa 18.02.2014 12:46

ну в общем-то он у меня тоже везде работает))
но вот тут http://sunboa.ru/project5 перестал.
Думал, что дело где-то в js и форме, который я раннее не замечал...

danik.js 18.02.2014 12:57

<!DOCTYPE html>
<meta charset="utf-8" />
<form method='POST' onsubmit="return validateForm(this)">

    <input type='text' name='name' class='input' placeholder="Ваше Имя">

    <input type='tel' name='phone' class='input' placeholder="Ваш Телефон">

    <input type='email' name='meil' class='input' placeholder="Ваш Email">

    <textarea name="comment" cols="27" rows="3" placeholder="Ваш Комментарий"></textarea>

    <input onclick="yaCounter23826040.reachGoal('zakazzvonka'); return true;">
    <input type='hidden' name='qwe' value='1'>
    <button type="submit">s</button>
</form>
<script>
    function validateForm(form) {
        var errors = [];
        if (!form.name.value)
            errors.push("Необходимо заполнить поле Имя!");
        if (!form.phone.value && !form.meil.value)
            errors.push("Необходимо заполнить поле Телефон или Email!");
        if (errors.length > 0)
            alert(errors.join('\n'));
        return errors.length == 0;
    }
</script>


Плюс находим на просторах интернета и подключаем placeholder.js
На всякий случай еще дублируем плейсхолдер атрибутом title.

рони 18.02.2014 12:59

alex-boa,
кто-то не любит делать промежутки между атрибутами и суёт лишние кавычки
строка 305 и ей подобные
типа 198 и тд

рони 18.02.2014 13:02

alex-boa,
если элемента нет нефиг искать у него стиль
document.getElementById('nomer4').style.display

alex-boa 14.03.2014 23:03

Спасибо всем за обсуждение.
Оказался первобытный косяк - несколько форм с одинаковыми именами. Идентифицировал каждую разным именем и всё заработало...


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