Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.12.2012, 22:14
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

Скрипт не срабатывает с первого раза
Доброго времени суток.
Следующий скрипт не всегда срабатывает при первом же обращении к нему. Вот код скрипта :

function profile_info_change() {
var
fullname = document.getElementById("fullname").value,
oldpassword = document.getElementById("old_password").value;
password = document.getElementById("password").value;
password2 = document.getElementById("password2").value;
about = document.getElementById("about").value;
$.ajax({
type: "POST",
url: "profile_info_changer.php",
data: {fullname: fullname, oldpassword: oldpassword, password: password, password2: password2, about: about },

success: function(msg){
$('#error').append(msg);
}
});
}
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2012, 08:34
Аватар для tropiko
Аспирант
Отправить личное сообщение для tropiko Посмотреть профиль Найти все сообщения от tropiko
 
Регистрация: 23.06.2011
Сообщений: 44

Mateus, во-первых, раз уж вы используете jQuery, тогда его следует использовать на полную катшку:
fullname = $("#fullname").val()


Во-вторых, следует прочитать про локальные переменные.
function profile_info_change() {
var fullname = document.getElementById("fullname").value,//Эта переменная находится в зоне видимости ф-ции profile_info_change
     oldpassword = document.getElementById("old_password").value; //Эта тоже
     password = document.getElementById("password").value; //А эта уже нет. Это свойство объекта window, глобальная переменная, грубо говоря
     //...
}


И, наконец, вы не привели условия, при которых вызывается данная функция. Без них нельзя понять, что идет не так.
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2012, 11:33
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

Без HTML кода тяжело понять, по-этому и получилось недопонимание.

Данная функция вызывается из формы:
<input type=submit class="black_box" onclick="profile_info_change();"">

Про переменные - спасибо, исправил. Но все эти переменные являются локальными, т.е. попадают через форму в js, потом php (глобальные попадают уже в обработчик php через сессию)
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2012, 11:35
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

Предполагаю, что "ошибка", а точнее неверное условие, находится в обработчике php.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Некорректно срабатывает скрипт на странице с pop-up Heidel jQuery 2 13.11.2012 16:44
Onchange в attachevent срабатывает не с первого раза. platedz Internet Explorer 17 19.08.2012 08:34
click срабатывает со второго раза jsuse jQuery 2 03.12.2011 02:44
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 19:01
После первого действия скрипт перестает работать cyberx jQuery 6 12.06.2010 22:04