Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.10.2011, 16:13
Интересующийся
Отправить личное сообщение для JavaCommando Посмотреть профиль Найти все сообщения от JavaCommando
 
Регистрация: 05.10.2011
Сообщений: 12

Google Chrome: не выполняется JavaScript который нормально работает в IE8
Сабж.

Хочу добавить, что настройки безопасности в Chrome выставлены "allow all sites to run javascript".

<html>
<form id="myform" method=post action="" enctype="text/plain" style="background:'e0e0e0'"> 
Кому: 
<input name="email_to" type="text" value=""> 
<p> 
От кого: 
<input name="email_from" type="text" value=""> 
<p> 
Сообщение: <br> 
<textarea name="txtmessage" type="text" value=""></textarea> 
<p>
<input name="btnsend" type="submit" value="Отправить" > 
</form>
<script> 
function myform.onsubmit() { 
    var noemail = myform.email_to.value.indexOf('@') == -1  
    var notext = !myform.txtmessage.value 
    var xtext = "\nПисьмо не отправлено" 
    if (noemail || notext) { 
        event.returnValue = false 
        if (noemail) 
            alert("Неправильный адрес получателя" + xtext) 
        else 
            alert("Нет текста сообщения" + xtext) 
    } else 
        myform.action = "mailto:" + myform.email_to.value  
} 
</script>
</html>


Код примера взят из книги Вадима Дунаева Сайт Вадима Дунаева
Ответить с цитированием
  #2 (permalink)  
Старый 05.10.2011, 16:19
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от JavaCommando
Код примера взят из книги Вадима Дунаева Сайт Вадима Дунаева
Выбросьте эту книгу, забудьте сайт.
http://javascript.ru/tutorial/dom/search#poisk-po-id
Ответить с цитированием
  #3 (permalink)  
Старый 05.10.2011, 16:56
Интересующийся
Отправить личное сообщение для JavaCommando Посмотреть профиль Найти все сообщения от JavaCommando
 
Регистрация: 05.10.2011
Сообщений: 12

К сожалению, исправление кода не помогло:
<html>
<form id="myform" method=post action="" enctype="text/plain" style="background:'e0e0e0'"> 
Кому: 
<input name="email_to" id="email_to" type="text" value=""> 
<p> 
От кого: 
<input name="email_from" type="text" value=""> 
<p> 
Сообщение: <br> 
<textarea name="txtmessage" id="txtmessage" type="text" value=""></textarea> 
<p>
<input name="btnsend" type="submit" value="Отправить" > 
</form> 
<script> 
function myform.onsubmit() { 
    var email_to_value = document.getElementById('email_to').value
    var noemail = email_to_value.indexOf('@') == -1  
    var notext = !document.getElementById('txtmessage').value 
    var xtext = "\nПисьмо не отправлено" 
    if (noemail || notext) { 
        event.returnValue = false 
        if (noemail) 
            alert("Неправильный адрес получателя" + xtext) 
        else 
            alert("Нет текста сообщения" + xtext) 
    } else 
        myform.action = "mailto:" + email_to_value 
} 
</script>
</html>

Может быть тут какая-то другая фундаментальная особенность Chrome? Даже цвет фона не устанавливается. А в IE8 всё работает, как в первом так и во втором варианте.
Ответить с цитированием
  #4 (permalink)  
Старый 05.10.2011, 17:03
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

По быстрому накатал
document.getElementById('myform').onsubmit = function(event) {
    var email_to_value = document.getElementById('email_to').value
    var noemail = email_to_value.indexOf('@') == -1  
    var notext = !document.getElementById('txtmessage').value
    var xtext = "\nПисьмо не отправлено"
    if (noemail || notext) {
        event.returnValue = false
        if (noemail)
            alert("Неправильный адрес получателя" + xtext)
        else
            alert("Нет текста сообщения" + xtext)
        return false;
    } else
        myform.action = "mailto:" + email_to_value
}
Ответить с цитированием
  #5 (permalink)  
Старый 05.10.2011, 17:10
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от JavaCommando
function myform.onsubmit()
Не может быть точки в имени функции.
Ответить с цитированием
  #6 (permalink)  
Старый 05.10.2011, 17:51
Интересующийся
Отправить личное сообщение для JavaCommando Посмотреть профиль Найти все сообщения от JavaCommando
 
Регистрация: 05.10.2011
Сообщений: 12

В таком виде работает:
<html>
<form id="myform" method="post" action="" enctype="text/plain"> 
Кому: 
<input name="email_to" id="email_to" type="text" value=""> 
<p> 
От кого: 
<input name="email_from" type="text" value=""> 
<p> 
Сообщение: <br> 
<textarea name="txtmessage" id="txtmessage" type="text" value=""></textarea> 
<p>
<input name="btnsend" type="submit" value="Отправить" > 
</form> 
<script> 
document.getElementById('myform').onsubmit = function(event) { 
    var email_to_value = document.getElementById('email_to').value
    var noemail = email_to_value.indexOf('@') == -1  
    var notext = !document.getElementById('txtmessage').value 
    var xtext = "\nПисьмо не отправлено" 
    if (noemail || notext) { 
        event.returnValue = false 
        if (noemail) 
            alert("Неправильный адрес получателя" + xtext) 
        else 
            alert("Нет текста сообщения" + xtext) 
    } else 
        document.getElementById('myform').action = "mailto:" + email_to_value 
} 
</script>
</html>

Свойство style я всё-таки выкинул из myform потому, что не понял как заставить работать заливку фона в Chrome.

Большое всем спасибо! Тему можно считать закрытой.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выпадающее меню не работает в Chrome Bangoo jQuery 1 21.03.2011 20:33
8 IE, не работает javascript Сергей1317 Internet Explorer 5 24.01.2011 09:35
Google Chrome перерисовка страницы во время выполнения скрипта Dekart Javascript под браузер 0 08.06.2010 08:35
частично не работает JavaScript в мазило Diabol Firefox/Mozilla 3 02.02.2010 21:48
в FF 3.x не работает нормально addEventListener("mousemove".... tsols Firefox/Mozilla 1 06.03.2009 17:13