@wasd360

Процесс обработки регистрации внутри модельного окна в Bootstrap Modal?

Здравствуйте.

Есть всплывающее окно (Bootstrap Modal). В этом окне есть формы для регистрации. Вопрос: как сделать процесс пост (method=post) внутри всплывающего окна.
Подскажите, как такое сделать?
  • Вопрос задан
  • 337 просмотров
Пригласить эксперта
Ответы на вопрос 2
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Самое банальное - привязать к форме onsubmit="PostThisFormPls(this);return false"
Соответственно функцией PostThisFormPls отправлять данные формы с помощью jquery:

function PostThisFormPls(object){
  $.post($(object).attr('action'), $(object).serialize(), function(data){
     alert(data); //делаем что хотим с принятыми данными. Это может быть json с сообщением или ошибкой, к примеру.
  });
}
Ответ написан
@wasd360 Автор вопроса
Не понимаю в чем дело. Если убрать проверку вводимых символов - все ок. С ней же - нет. В чем косяк ?

<form name="reg">
	UserID: <input type="text" id="name" name="name" size=20><br><br>
	Password: <input type="password" id="pass" name="pass" size=20><br><br>
	Confirm Password: <input type="password" id="confirm" name="confirm" size=20><br><br>
	<button id="submit_form">Отправить</button>
	</form>
	<div id="result"></div>


$(document).ready(function(){
  	$("#submit_form").click(function(){ //при клике на кнопку <button id="submit_form">Отправить</button> выполняем функцию
    $.post("/account.php", $("#name","#pass","#confirm").serialize(),  function(response) { //здесь #form_id - это ID формы, которая будет отправляться
      $("#result").html(response); //вывод ответа от php-скрипта в <div id="result"></div>
    });
    return false;
  });
});


<?

$dbselect = mysql_select_db("$dbname")  
or die ('Could not select database'); 


$user = mysql_real_escape_string($_POST["name"]);
$pass = mysql_real_escape_string($_POST["pass"]); 
$confirm = mysql_real_escape_string($_POST["confirm"]); 


if(!preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/",$user)) { 
die ('Ошибка: Имя пользователя может содержать только алфавитно-цифровые символы и должны быть между 5 и 20 символов в длину.'); 
} 
  
if(!preg_match('/^[a-zA-Z0-9]{5,20}$/',$pass)) { 
die ('Ошибка: Пароль пользователя может содержать только алфавитно-цифровые символы и должны быть между 5 и 20 символов в длину.'); 
} 
  
if($pass != $confirm) { 
die ('Ошибка: Пароли не совпадают.'); 
} 
  

$result = mysql_query("SELECT login FROM accounts WHERE login='$user'"); 
  
if(mysql_num_rows($result)>0) { 
die ('Ошибка: Имя пользователя уже существует.'); 
}else{ 
mysql_query("INSERT INTO accounts (login, password, accessLevel) VALUES ('".$_POST['name']."', '".base64_encode(pack('H*', sha1($_POST['pass'])))."', 0)") 
or die ('Error: ' . mysql_error()); 
} 
  

echo "Account created successfully."; 
  

mysql_close(); 
  
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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