Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Два раза срабатывает php-код в Internet Explorer
 
 автор: paha_88   (29.09.2009 в 10:57)   письмо автору
 
 

имеется код
$query_n = "INSERT INTO `cheyka` (id_l_ch,n1,n1_1,n2,n2_2,n3,n3_3,n4,n4_4,n5,n5_5,n6,n6_6,n7,n7_7,n8,n8_8,n9,n9_9)
VALUES ('{$_POST[id]}','{$_POST[znach1]}','{$n1}','{$_POST[znach2]}','{$n2}','{$_POST[znach3]}','{$n3}','{$_POST[znach4]}','{$n4}','{$_POST[znach5]}',
'{$n5}','{$_POST[znach6]}','{$n6}','{$_POST[znach7]}','{$n7}','{$_POST[znach8]}','{$n8}','{$_POST[znach9]}','{$n9}')";
$resalt_n = MYSQL_QUERY($query_n);


перед этим кодом идут 2 условия, которые определяют значения переменных. Во всех браузерах работает нормально а в ie почему-то записывается два раза. Перепроверил все несколько раз циклов нету! в чем может быть проблема?

  Ответить  
 
 автор: cheops   (29.09.2009 в 11:39)   письмо автору
 
   для: paha_88   (29.09.2009 в 10:57)
 

Вряд ли дело в коде, скорее в каких-то JavaScript-вызовах или двойном нажатии на кнопку. Код серверный - от от браузера вряд ли зависит (если конечно это не анализ user_agent и чего-то в этом роде), а вот JavaScript - запросто.

  Ответить  
 
 автор: paha_88   (29.09.2009 в 12:09)   письмо автору
 
   для: cheops   (29.09.2009 в 11:39)
 

этот скрипт отправляет переменные в эту страницу
<SCRIPT LANGUAGE="JavaScript">
function begin() {
document.forms.form333.submit()
}
</script>
кнопка отправления
<input type=image src="images/tur1_25.jpg" width="89" height="23" onClick="begin()" value="Начать игру" name='next'>

  Ответить  
 
 автор: cheops   (29.09.2009 в 12:15)   письмо автору
 
   для: paha_88   (29.09.2009 в 12:09)
 

Уберите событие onClick="begin()" - кнопка так и так отправит данные обработчику, а тут получается, что сначала событие отправляет данные, а потом кнопка шлет их ещё раз. Обычно submit() используется для других элементов управления, которые обычно не отправляют данные обработчику.

  Ответить  
 
 автор: paha_88   (29.09.2009 в 12:52)   письмо автору
 
   для: cheops   (29.09.2009 в 12:15)
 

Понятно проблему исправил <input type=image src="images/tur1_25.jpg" width="89" height="23" onClick="begin(); return false;" value="Начать игру" name='next'>


но другой вопрос. В функции begin идет проверка ячейки
<SCRIPT LANGUAGE="JavaScript">
function begin() {
if (document.form333.znach1.value>500) {document.form333.znach1.value=window.prompt("Ячейка 1: Диапазон значений от 0 до 500 включительно. ВВедите в поле другию цифру",'');checK()}
document.forms.form333.submit()
}
в ie условие не проверяется

  Ответить  
 
 автор: AlexSol   (29.09.2009 в 13:14)   письмо автору
 
   для: paha_88   (29.09.2009 в 12:52)
 

document.form333.znach1.value - это строка
document.form333.znach1.value*1 - это уже число

  Ответить  
 
 автор: paha_88   (29.09.2009 в 13:31)   письмо автору
 
   для: AlexSol   (29.09.2009 в 13:14)
 

не помогло

  Ответить  
 
 автор: coloboc66   (29.09.2009 в 13:49)   письмо автору
 
   для: paha_88   (29.09.2009 в 13:31)
 

А так:
...
if ((Number(document.form333.znach1.value)>500) 
...

?

  Ответить  
 
 автор: paha_88   (29.09.2009 в 14:10)   письмо автору
 
   для: coloboc66   (29.09.2009 в 13:49)
 

не получается

вот код проверки вводимых переменных
<SCRIPT LANGUAGE="JavaScript">
function begin() {
if (Number(document.form333.znach1.value)>500) {document.form333.znach1.value=window.prompt("Ячейка 1: Диапазон значений от 0 до 500 включительно. ВВедите в поле другию цифру",'');checK()}
if (document.form333.znach1.value=="") {document.form333.znach1.value=window.prompt("Ячейка 1: Ячейка не заполнена",'');checK()}
}
document.forms.form333.submit()
</script>

кнопка отправки
<input type=image src="images/tur1_25.jpg" width="89" height="23" onClick="begin(); return false;" value="Начать" name='next'>

в ie все равно не выводит сообщение если значение не удовлетворяет условию!
а в мозиле выводит, но если нажать ok или отмена он сразу отправляет форму. А мне так не надо!

  Ответить  
 
 автор: AlexSol   (29.09.2009 в 14:41)   письмо автору
 
   для: paha_88   (29.09.2009 в 14:10)
 

уберирите onClick="begin(); return false

сделайте

<form onSubmit="return begin();">

в begin() проставьте return true - на верное условие/ return false - неверное

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования