Некорректная работа скрипта в разных браузерах
В общем, выручайте, без вас видимо никак, моск поломан.
Есть скрипт который проверяет поля формы регистрации.
function provreg()
{
var obj_form=document.forms.reg;
var obj_pole_logincheck=obj_form.logincheck;
var obj_pole_nick=obj_form.nick;
var obj_pole_passcheck=obj_form.passcheck;
var obj_pole_pass=obj_form.pass;
var obj_pole_rpasscheck=obj_form.rpasscheck;
var obj_pole_rpass=obj_form.rpass;
var obj_pole_emailcheck=obj_form.emailcheck;
var obj_pole_mail=obj_form.mail;
var obj_pole_name1check=obj_form.name1check;
var obj_pole_name1=obj_form.name1;
var obj_pole_name2check=obj_form.name2check;
var obj_pole_name2=obj_form.name2;
var obj_pole_tel1check=obj_form.tel1check;
var obj_pole_tel1=obj_form.tel1;
var obj_pole_yur=obj_form.yur;
var obj_pole_company=obj_form.company;
var obj_pole_siterules=obj_form.siterules;
if ((obj_pole_nick.value=='') || (obj_pole_logincheck.value=='false') )
{
alert ("Некорректный логин.");
return false;
}
if ((obj_pole_pass.value=='') || (obj_pole_passcheck.value=='false'))
{
alert ("Некорректный введен пароль.");
return false;
}
if ((obj_pole_rpass.value=='') || (obj_pole_rpasscheck.value=='false'))
{
alert ("Некорректно введен пароль.");
return false;
}
if ((obj_pole_mail.value=='') || (obj_pole_emailcheck.value=='false') )
{
alert ("Некорректно заполнен eMail.");
return false;
}
if ((obj_pole_name1.value=='') || (obj_pole_name1check.value=='false'))
{
alert ("Некорректно заполнено поле Фамилия.");
return false;
}
if ((obj_pole_name2.value=='') || (obj_pole_name2check.value=='false') )
{
alert ("Некорректно заполнено поле Имя.");
return false;
}
if ((obj_pole_tel1.value=='') || (obj_pole_tel1check.value=='false') )
{
alert ("Некорректно заполнено поле контактный телефон.");
return false;
}
if (obj_pole_yur.checked)
{
if (obj_pole_company.value=='')
{
alert ("Некорректно заполнено название организации.");
return false;
}
}
if (!obj_pole_siterules.checked)
{
alert ("Прочтите и согласитесь с правилами сайта, либо прекратите регистрацию.");
return false;
}
document.forms.reg.submit();
}
Так вот в IE срабатывают все проверки, а в остальных браузерах Opera Safari Chrome Mozilla срабатывает только первая проверка скрипта, вот эта: if ((obj_pole_nick.value=='') и дальше проходит все без проверок т.е. вывод alert'a после строк :
if ((obj_pole_nick.value=='') || (obj_pole_logincheck.value=='false') )
{
alert ("Некорректный логин.");
return false;
}
alert("Alert!!!");
не срабатывает в этих браузерах никогда! Помогите пожалуйста. |
Может быть все дело в том что input type="hidden"
var obj_pole_logincheck=obj_form.logincheck; создается динамически вот этим кодом?
$(function() {
$('#login').keyup(function () {
val = $('#login').val();
$.ajax({
type: "POST",
url: "checkregform.php",
data: "login="+val,
success: function(html){
$("#indicatorlogin").html(html);
}
});
});
});
Файл checkregform.php -
if ($_POST['login']){
$login = $_POST['login'];
//Проверяем, есть ли пробелы в пароле
if($login!='')
{
if ((strlen($login)<3) or (!preg_match('/^[a-zA-Z0-9]+$/', $login)))
{
$html = '<div style=" width:25px; height:25px;" valign=center><img src="images/block.png" width=25 height=25/><input type="text" id="logincheck" name="logincheck" value="false"></div>';
//$html .= "Простой";
$_SESSION["logincheck"]='0';
}
else {
$q=mysql_query("select nick from users where nick='".addslashes($login)."'");
if(mysql_num_rows($q)>0)
{
$html = '<div style=" width:25px; height:25px;" valign=center><img src="images/block.png" width=25 height=25/><input type="text" id="logincheck" name="logincheck" value="false"></div>';
$_SESSION["logincheck"]='0';
//$html .= "Простой";
}
else
{
$html = '<div style=" width:25px; height:25px;" valign=center><img src="images/clean.png" width=25 height=25/><input type="text" id="logincheck" name="logincheck" value="true"></div>';
//$html .= "Надежный";
}
}
}
echo $html;
}
Потому как загвоздка именно в этом |
Отбой, нашел эллетенты через GetEllementByID
|
| Часовой пояс GMT +3, время: 11:12. |