Задать вопрос
Recosh
@Recosh
Программист студент

Динамические формы ajax с автоматическим сбором данных?

У меня есть html форма, и я пользуюсь ajax запросом, для общения с сервером. Использую для сбора данных следующую конструкцию:
$('#savepass').bind('click', function(){
	var oldpass = $('#oldpass').val();
	var newpass = $('#newpass').val();
	var newpassrep = $('#newpassrep').val();
	var uid = $('#uid').val();

	if (oldpass != "" && newpass != "" && newpassrep != ""){
		$.ajax({
			type: 'POST',
			dataType: 'json',
			cache: false,
			url: "/admin/changepass",
			data: {oldpass:oldpass, newpass:newpass, newpassrep:newpassrep,uid:uid},
			success: function(response){

				if (response == "true"){
					$('#passok').fadeIn('slow');
				}else if(response == "olderror"){
					alert("Старый пароль указан не верно. Изменения отклонены");
				}else if(response == "reperror"){
					alert("Новые пароли не совпадают, убедитесь в верности написания и статусе CapsLock-клавиши");
				}
	}
});


То есть я вручную сначала получаю данные с полей формы, а потом опять прописываю их в параметр data. Можно ли как то это дело автоматизировать? Хочу что бы было просто как напрямую без ajax'a, описал форму в html, поймал переменную в php
  • Вопрос задан
  • 4067 просмотров
Подписаться 4 Оценить 1 комментарий
Решения вопроса 2
mlnkv
@mlnkv
JavaScript Developer
<form id="myForm" action="/admin/changepass">
  <!-- ... -->
</form>


var data = $("#myForm").serialize(),
  url = $("#myForm").attr("action");
$.post(url, data, function(resp){
  if (response == "true") 
  	$('#passok').fadeIn('slow');  
  else if (response == "olderror") 
  	alert("Старый пароль указан не верно. Изменения отклонены");
  else if(response == "reperror") 
  	alert("Новые пароли не совпадают, убедитесь в верности написания и статусе CapsLock-клавиши");
}, "json");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы