2016-11-15 4 views
1

функция регистра внутри имени файла signup.php значения захвата полей с помощью AJAX отправить их register.php затем отобразить тост ответ */запрос Ajax регистрации начальной загрузки формы не работает

// js code inside signup.php 
 
<script type="text/javascript"> 
 
    function register(){ 
 
    var name=$('#form2').val(); 
 
    var email=$('#form3').val(); 
 
    var password=$('#form4').val(); 
 
    var question=$('#question').val(); 
 
    var repsec=$('#form5').val(); 
 
    if((email!="")&&(password!="")&&(name!="")&&(repsec!="")&&(quest!="")) { 
 
    
 
$.ajax({ 
 
    var data = $("#reg").serialize(); 
 
    url:'register.php', 
 
    type:'POST', 
 
    data:data, 
 
    success: function(data){ 
 
    if(data=='success'){ 
 
    toastr.clear(); toastr.success('user: '+name+' registred'); } else {toastr.clear(); toastr.error(email+' already exists') } } }); } }; </script>
<!-- registration form--> 
 
<form id="reg" method="post"> 
 
    <div class="md-form" style="top: 25px;"> 
 
    
 
    <i class="fa fa-user prefix" style="top: 15px;"></i> 
 
<input type="text" name="name" id="form2" class="form-control"> 
 
<label for="form2">Your name</label> </div> <div class="md-form" style="top: 25px;"> 
 
    
 
<i class="fa fa-envelope prefix" style="top: 14px;right: 500px;"></i> 
 
<input type="email" name="email" id="form3" class="form-control" style="margin-top: 30px;" required> <label for="form3">Your email</label> </div> 
 
    
 
<div class="md-form" style="top: 28px;"> 
 
<i class="fa fa-lock prefix" style="top: 14px;"></i> 
 
    
 
<input type="password" name="password" id="form4" class="form-control" required> 
 
<label for="form4">Your password</label> </div> <i class="fa fa-question-circle" style="top: 14px;margin-top: 40px;font-size:1.6rem;"></i> 
 
    
 
    <select name="quest" id="question" style="margin-top: -25;margin-left: 38px;width: 497px;"> 
 
<option>What is the name of my best childhood friend?</option> <option>What is the best place I have visited?</option> <option>What is the best gift I received?</option> 
 
    </select> 
 

 
<div class="md-form" style="top: 25px;left:40;"> 
 
<input type="password" name="repsec" id="form5" class="form-control" style="font-size: 1.4rem;font-weight: bold;color: #000;width: 480px;" required> 
 

 
<label for="form5">Answer of secret question </label> </div> 
 
<div class="text-xs-center"> 
 
    
 
<button class="btn btn-indigo" onclick="register()" style="margin-top: 25px;" type="submit">Sign up</button> </div></form>

Проблема при отправке формы перезагрузки страницы без ответа ajax и без вставки нового пользователя в базу данных. Я включил все файлы начальной загрузки (css js) и библиотеку jquery правильно, я даже закодировал форму входа, похожую на signup.php, в которой запрос ajax работает с тостом правильно ответить Я попытался добавить preventDefault, изменив тип отправки на input type=button, затем проверив PHP код, параметры базы данных, но я никогда не найти решение в течение 3 недель

//register.php код

Register

ответ

0

вместо использования onclick="register()", попробуйте использовать JavaScript для отправки формы вместо этого.

document.getElementById("reg").onsubmit = function() {register()}; 

И удалите событие onclick="register()" из кнопки отправки.

Обычно я делаю это с помощью jquery, но если вы не используете это, я думаю, что это будет работать. Я его не тестировал.

Вот путь с Jquery:

$(function() { 
// register user 
    $("button.btn-indigo").click(function(){ 
    register(); 
}); 
+0

я сделать это, но при подаче страницы еще перезагружать без ответа тостов и без добавления нового пользователя – barsawi13

+0

@ barsawi13 Это должно работать .. хмм. Возможно, ваша ошибка где-то в другом месте, извините, я не использовал тост. Это в основном то, что я предложил: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onclick_dom – Bolli

+0

Что произойдет, если вы добавите onsubmit = "return false" в свой тег формы? – Bolli

Смежные вопросы