# SubmitHandler, AJAX und bootstrapvalidator



## andy_tz (18. Januar 2014)

Einen schönen Guten Abend,

ich habe folgendes Problem: Der submitHandler funktioniert einfach nicht. Ich komme auch nicht dahinter woran es liegt. Ich benutze die Validierung von https://github.com/nghuuphuoc/bootstrapvalidator.

Eventuell kann mir hier jemand weiterhelfen...

Register.php

```
<?php

// Including db_connect.php und functions.php
include '../config.inc.php';
include '../secure_login/functions.php';

// Start a Secure SESSION
sec_session_start();

// Arithmetic
$num1 = mt_rand(1, 49);
$num2 = mt_rand(1, 49);
$sum = $num1+$num2;

// When post "register"
if (isset($_POST['register'])) {
	
	// Clean up the input values
	foreach($_POST as $key => $value) {
  		if(ini_get('magic_quotes_gpc'))
    		$_POST[$key] = stripslashes($_POST[$key]);
 
  		$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
	}
	
	// Define variables of the user input
	$username = $mysqli->real_escape_string($_POST['username']);
	$email = $mysqli->real_escape_string($_POST['email']);
	$password = $mysqli->real_escape_string($_POST['password']);
	
	// Email Validation
	function isValidEmail($email){  
		return filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
	}
	
	// Check user input values for errors
	$errors = array();
	
	if(strlen($username) < 3) {
		if(!$username) {
    		$errors[] = "Bitte geben Sie einen Benutzernamen ein!";
  		
		} else {
    	
			$errors[] = "Der Benutzername muss mindestens 3 Zeichen enthalten!";
  		}
	}
	
	if(!$email) {
  		$errors[] = "Bitte geben Sie eine E-Mail Adresse ein!";
	
	} else if(!isValidEmail($email)) {
  	
		$errors[] = "Das ist keine gültige E-Mail Adresse!";
	}
	
	if($_POST['password'] !== $_POST['confirmPassword']) {
		$errors[] = "Die Passwörter stimmen nicht überein!";
	}
	
	if($_POST['captcha'] !== $_POST['sum']) {
		$errors[] = "Bitte geben Sie das richtige Ergebnis ein!";
	}
	
	
	if($errors) {
  		// Output errors and die with a failure message
  		$errortext = "";
  		foreach($errors as $error) {
    		$errortext .= "<li>".$error."</li>";
  		}
  
  		die("<div class='text-danger'><strong>Es sind folgende Fehler aufgetreten:</strong><ul>". $errortext ."</ul></div>");
	
	} else
	
	// Create a secure password
	$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
	$password = hash('sha512', $password.$random_salt);
	
	
	// Create a new USER
	if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password, salt) VALUES (?, ?, ?, ?)")) { 
   		$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt); 
   		$insert_stmt->execute();
		$insert_stmt->store_result();
	}
	
	die("<div class='text-success'>Die Registrierung war erfolgreich! Sie können sich jetzt <a href=\"../secure_login/login.php\">anmelden</a></div>");

	$insert_stmt->close();

} else {

?>
```


```
<form role="form" id="register-form" method="post" action="">
                      	<div id="alert" class="alert alert-success" style="display:none"></div>
                    		<input type="hidden" name="sum" value="<?php echo $sum ?>">
                            <div class="form-group">
    							<label class="control-label" for="username">Benutzername</label>
                            	<div class="form-inline">
                        			<input type="text" class="form-control" name="username" id="username">
                    			</div>
                        	</div>
  							<div class="form-group">
                            	<label class="control-label" for="email">E-Mail Adresse</label>
                            	<div class="form-inline">
    								<input type="email" class="form-control" name="email" id="email">
  								</div>
                        	</div>
                        	<div class="form-group">
    							<label class="control-label" for="Password">Passwort</label>
                            	<div class="form-inline">
    								<input type="password" class="form-control" name="password" id="password">
  								</div>
                        	</div>
                        	<div class="form-group">
    							<label class="control-label" for="confirmPassword">Passwort wiederholen</label>
                            	<div class="form-inline">
    								<input type="password" class="form-control" name="confirmPassword" id="confirmPassword">
  								</div>
                        	</div>
                        	<br>
                        	<div class="form-group">
    							<label class="control-label" for="captcha"><strong>Sicherheitsabfrage</strong></label>
								<div class="form-inline">
                            		<input type="text" class="form-control sum" name="num1" id="num1" value="<?php echo $num1 ?>" readonly> +
            						<input type="text" class="form-control sum" name="num2" id="num2" value="<?php echo $num2 ?>" readonly> =
            						<input type="text" class="form-control captcha" name="captcha" id="captcha" maxlength="2">
                            		<span id="spambot"></span>
								</div>        
    						</div>
                        	<div class="form-group">
                          		<span class="help-block"><small>Info: Diese Eingabe dient zum Schutz vor Spambot.</small></span>
                       		</div>
                        	<div class="form-group">
                            	<button type="submit" class="btn btn-primary" name="register">Registrieren</button>
							</div>
                    	</form>
```


```
<!-- JavaScript -->
	<!-- Placed at the end of the document so the pages load faster -->
    <script src="../components/jquery-1.10.2.min.js"></script>
    <script src="../dist/js/bootstrap.min.js"></script>
    <script src="../dist/js/bootstrapValidator.min.js"></script>

	<script type="text/javascript">
	$(document).ready(function() {
		
    	$('#register-form').bootstrapValidator({
        	message: 'Die Eingabe ist nicht gültig',
			submitHandler: function(validator, form) {
				$(form).ajaxSubmit( {
 					target: form.find('.alert'),
					success: function() {
						$('#register-form').slideUp('fast');
					}
				});
			},
			live: 'submitted',
        	fields: {
            	username: {
                	validators: {
                   		notEmpty: {
                        	message: 'Bitte geben Sie einen Namen ein!'
                    	},
                    	stringLength: {
                        	min: 3,
                        	max: 30,
                        	message: 'Der Benutzername muss mindestens 3 und maximal 30 Zeichen enthalten!'
                    	},
                    	regexp: {
                        	regexp: /^[a-zA-Z0-9_\.]+$/,
                        	message: 'Der Benutzername darf nur alphabetisch, Anzahl, Punkt und Unterstrich enthalten!'
                    	},
                	}
            	},
            	email: {
                	validators: {
                   		notEmpty: {
                        	message: 'Bitte geben Sie eine E-Mail Adresse ein!'
                    	},
                    	emailAddress: {
                        	message: 'Das ist keine gültige E-Mail Adresse!'
                    	}
                	}
            	},
				password: {
                	validators: {
                    	notEmpty: {
                        	message: 'Bitte geben Sie ein Passwort ein!'
                    	},
                    	identical: {
                        	field: 'confirmPassword',
                        	message: 'Die Passwörter stimmen nicht überein!'
                    	}
                	}
            	},
            	confirmPassword: {
                	validators: {
                    	notEmpty: {
                        	message: 'Bitte geben Sie ein Passwort ein!'
                    	},
                    	identical: {
                        	field: 'password',
                        	message: 'Die Passwörter stimmen nicht überein!'
                    	}
                	}
            	},
            	captcha: {
                	validators: {
						notEmpty: {
                        	message: 'Bitte geben Sie ein Ergebnis ein!'
                    	},
                    	callback: {
                        	message: 'Bitte geben Sie das richtige Ergebnis ein!',
                        	callback: function(value) {
								$result = ( parseInt($('#num1').val()) + parseInt($('#num2').val()) == parseInt($('#captcha').val()) ) ;
								$('#spambot').fadeOut('fast');
								return $result;
                        	}
                    	}
                	}
            	}
			}
    	});
	});
	</script>
```


Vielen Dank schon mal im Voraus!


----------



## Paul_ (19. Januar 2014)

Hi Andy,

das Problem ist, dass die Funktion "ajaxSubmit" nicht im jQuery Core enthalten ist.
Du brauchst irgendein jQuery Plugin, das diese Funktion beinhaltet, zum Beispiel http://malsup.com/jquery/form/.

Ciao,
Paul


----------



## andy_tz (19. Januar 2014)

Hallo Paul,

danke für deine Antwort, aber auch mit dem genannten Jquery Plugin läuft es nicht...


----------



## andy_tz (19. Januar 2014)

Hallo,

so ich habe nun folgenden Code versucht:


```
<script type="text/javascript">
	$(document).ready(function() {
		
		// Bootstrapvalidator
    	$('#register').bootstrapValidator({
        	message: 'Die Eingabe ist nicht gültig',
			submitHandler: function(validator, form) {
				e.preventDefault();
				$.ajax({
					url: '',
					type: 'POST',
					dataType: 'html',
					data: form.serialize(),
					success: function(data) {
						alert.html(data).fadeIn();
						form.trigger('reset');
						submit.html('Registrieren');
					},
				});
			},
			live: 'submitted',
...
...
	</script>
```


Der Eintrag in die Datenbank funktioniert und auch die Meldung wird ausgegeben. Nur halt nicht in dem vorgesehenen "alert"-DIV.


----------



## Paul_ (19. Januar 2014)

Wo wird die Meldung denn ausgegeben?
Ist alert eine globale Variable? Wenn nicht, dann hast du in der callback Funktion keinen Zugriff auf sie.
Poste mal deinen ganzen Html & JavaScript Code.


----------



## andy_tz (20. Januar 2014)

Hallo,

also die Ausgabe erfolgt über halb der Überschrift. Dies auch erst als ich folgendes geändert habe:

PHP-Code:

von


```
die('<div>Die Registrierung war erfolgreich!<br>Sie können sich jetzt anmelden</a>.</div>)';
```

in


```
echo '<p>Die Registrierung war erfolgreich!<br>Sie können sich jetzt anmelden</a>.</p>';
```


So, hier aber mal die komplette Datei:


```
<?php

// Including db_connect.php und functions.php
include '../config.inc.php';
include '../secure_login/functions.php';

// Start a Secure SESSION
sec_session_start();

// Arithmetic
$num1 = mt_rand(1, 49);
$num2 = mt_rand(1, 49);
$sum = $num1+$num2;

// When post "register"
if (isset($_POST['submit'])) {
	
	// Clean up the input values
	foreach($_POST as $key => $value) {
  		if(ini_get('magic_quotes_gpc'))
    		$_POST[$key] = stripslashes($_POST[$key]);
 
  		$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
	}
	
	// Define variables of the user input
	$username = $mysqli->real_escape_string($_POST['username']);
	$email = $mysqli->real_escape_string($_POST['email']);
	$password = $mysqli->real_escape_string($_POST['password']);
	
	// Email Validation
	function isValidEmail($email){  
		return filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
	}
	
	// Check user input values for errors
	$errors = array();
	
	if(strlen($username) < 3) {
		if(!$username) {
    		$errors[] = "Bitte geben Sie einen Benutzernamen ein!";
  		
		} else {
    	
			$errors[] = "Der Benutzername muss mindestens 3 Zeichen enthalten!";
  		}
	}
	
	if(!$email) {
  		$errors[] = "Bitte geben Sie eine E-Mail Adresse ein!";
	
	} else if(!isValidEmail($email)) {
  	
		$errors[] = "Das ist keine gültige E-Mail Adresse!";
	}
	
	if($_POST['password'] !== $_POST['confirmPassword']) {
		$errors[] = "Die Passwörter stimmen nicht überein!";
	}
	
	if($_POST['captcha'] !== $_POST['sum']) {
		$errors[] = "Bitte geben Sie das richtige Ergebnis ein!";
	}
	
	
	if($errors) {
  		// Output errors and die with a failure message
  		$errortext = "";
  		foreach($errors as $error) {
    		$errortext .= "<li>".$error."</li>";
  		}
  
  		echo '<p><strong>Es sind folgende Fehler aufgetreten:</strong><ul>". $errortext ."</ul></p>';
	
	} else
	
	// Create a secure password
	$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
	$password = hash('sha512', $password.$random_salt);
	
	
	// Create a new USER
	if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password, salt) VALUES (?, ?, ?, ?)")) { 
   		$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt); 
   		$insert_stmt->execute();
		$insert_stmt->store_result();
	}
	
	$insert_stmt->close();
	
	echo '<p>Die Registrierung war erfolgreich!<br>Sie können sich jetzt anmelden</a>.</p>';

}

?>

<!DOCTYPE html>
<html lang="de-DE">
<head>
	<title>Registrierung @ TFC Trier</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="keywords" content="Tischfußball, Tischfussball, Kicker, Tischfußball in Trier, Tischfussball in Trier, Kicker in Trier">
	<meta name="author" content="Andreas Tzscheutschler">
	<meta name="publisher" content="TFC Trier">
	<meta name="robots" content="index,follow">
	
    <!-- Bootstrap CSS -->
    <link href="../dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="../dist/css/bootstrapValidator.min.css" rel="stylesheet">
	
    <!-- Custom CSS styles -->
    <link href="../style.css" rel="stylesheet">
	
  	<!--[if lt IE 9]>
    	<script src="../components/html5shiv.js"></script>
      	<script src="../components/html5shiv-printshiv.js"></script>
      	<script src="../components/respond.min.js"></script>
    <![endif]-->
</head>
<body>

    <!-- Start Fixed navbar -->
    <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    	<div class="container">
        	<div class="navbar-header">
          		<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            		<span class="sr-only">Toggle navigation</span>
            		<span class="icon-bar"></span>
            		<span class="icon-bar"></span>
            		<span class="icon-bar"></span>
          		</button>
          		<a class="navbar-brand" href="#">TFC Trier</a>
        	</div>
        	<div class="navbar-collapse collapse">
          		<ul class="nav navbar-nav">
            		<li class="active"><a href="../">Startseite</a></li>
                	<li class="dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown">Verein <b class="caret"></b></a>
        				<ul class="dropdown-menu">
							<li><a href="../league/club.php#about">Über uns</a></li>
                			<li><a href="../league/club.php#players">Spieler</a></li>
                			<li><a href="../league/club.php#success">Erfolge</a></li>
							<li><a href="../league/club.php#club_champion">Vereinsmeister</a></li>
						</ul>
					</li>
                    <li class="dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown">Spielbetrieb <b class="caret"></b></a>
        				<ul class="dropdown-menu">
                			<li class="dropdown-header">1. Mannschaft</li>
                			<li><a href="../league/season.php#season_table">Saisontabelle</a></li>
                        	<li><a href="../league/season.php#game_results">Ergebnisse</a></li>
                        	<li><a href="../league/season.php#match_schedule">Spielpläne</a></li>
                            <li><a href="../league/performace.php">Leistungssportliga</a></li>
                			<li class="divider"></li>
                			<li class="dropdown-header">2. Mannschaft</li>
                			<li><a href="../league/season2.php#season_table">Saisontabelle</a></li>
                        	<li><a href="../league/season2.php#game_results">Ergebnisse</a></li>
                        	<li><a href="../league/season2.php#match_schedule">Spielpläne</a></li>
						</ul>
					</li>
                	<li><a href="../gallery.php">Bildergalerie</a></li>
                	<li class="dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown">Kontakt <b class="caret"></b></a>
        				<ul class="dropdown-menu">
                        	<li><a href="../contact.php#form">Kontaktformular</a></li>
                        	<li><a href="../contact.php#route">Routenplanung</a></li>
                			<li class="divider"></li>
                			<li class="dropdown-header">Sonstiges</li>
                        	<li><a href="../guestbook/">Gästebuch</a></li>
						</ul>
            		</li>
                    
                    <?php
				
					if(login_check($mysqli) == true) {
						echo '<li class="dropdown">
							<a href="#" class="dropdown-toggle" data-toggle="dropdown">Intern <b class="caret"></b></a>
        					<ul class="dropdown-menu">
								<li><a href="../int/player_adress.php">Spielerkontakt</a></li>
							</ul>
						</li>';
					}
				
					?>
          		
                </ul>
          		<ul class="nav navbar-nav navbar-right">
            		<?php
			
					if(login_check($mysqli) == true) {
						echo '<li class="dropdown">
						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-user"></span> <strong>Abmelden</strong> <b class="caret"></b></a>
							<ul class="dropdown-menu form-login">
                    			<li>
									<div class="form-actions">
										<p>Angemeldet als <strong>'. $_SESSION['username'] .'</strong>!</p>
										<button type="button" class="btn" onClick="self.location.href=\'../secure_login/logout.php\'">Abmelden</button></p>
									</div>
                        		</li>
							</ul>
						</li>';
						
					}
		
					?>
          		</ul>
			</div>
		</div>
	</div>
	<!-- End Fixed navbar -->
	
    
    <!-- All page content -->
    <div class="container">
		
        <!-- Registration-Form -->
		<div class="page-header">
    		<h3>Registrierung eines Benutzerkontos</h3>
    	</div>
        
        <div class="row">
			<div class="col-xs-7 col-sm-5 col-xs-offset-3">
				<div class="well">
                	<div class="formular">
                		<form role="form" id="register" method="post" action="">
                        	<div id="alert" class="alert alert-success" style="display:none"></div>
                    		<input type="hidden" name="sum" value="<?php echo $sum ?>">
                            <div class="form-group">
    							<label class="control-label" for="username">Benutzername</label>
                            	<div class="form-inline">
                        			<input type="text" class="form-control" name="username" id="username">
                    			</div>
                        	</div>
  							<div class="form-group">
                            	<label class="control-label" for="email">E-Mail Adresse</label>
                            	<div class="form-inline">
    								<input type="email" class="form-control" name="email" id="email">
  								</div>
                        	</div>
                        	<div class="form-group">
    							<label class="control-label" for="Password">Passwort</label>
                            	<div class="form-inline">
    								<input type="password" class="form-control" name="password" id="password">
  								</div>
                        	</div>
                        	<div class="form-group">
    							<label class="control-label" for="confirmPassword">Passwort wiederholen</label>
                            	<div class="form-inline">
    								<input type="password" class="form-control" name="confirmPassword" id="confirmPassword">
  								</div>
                        	</div>
                        	<br>
                        	<div class="form-group">
    							<label class="control-label" for="captcha"><strong>Sicherheitsabfrage</strong></label>
								<div class="form-inline">
                            		<input type="text" class="form-control sum" name="num1" id="num1" value="<?php echo $num1 ?>" readonly> +
            						<input type="text" class="form-control sum" name="num2" id="num2" value="<?php echo $num2 ?>" readonly> =
            						<input type="text" class="form-control captcha" name="captcha" id="captcha" maxlength="2">
                            		<span id="spambot"></span>
								</div>        
    						</div>
                        	<div class="form-group">
                          		<span class="help-block"><small>Info: Diese Eingabe dient zum Schutz vor Spambot.</small></span>
                       		</div>
                        	<div class="form-group">
                            	<button type="submit" class="btn btn-primary" name="submit" id="submit">Registrieren</button>
							</div>
                    	</form>
                    </div><!--/.formular -->
                </div><!--/.well -->
			</div>
        </div><!--/.row -->
		<!-- End Registration-Form -->

    </div><!--/.container -->


	<!-- JavaScript -->
	<!-- Placed at the end of the document so the pages load faster -->
    <script src="../components/jquery-1.10.2.min.js"></script>
    <script src="../dist/js/bootstrap.min.js"></script>
    <script src="../dist/js/bootstrapValidator.min.js"></script>
    <script src="../components/jquery.form.js"></script>

	<script type="text/javascript">
	$(document).ready(function() {
		
		var alert = $('.alert');
		
		// Bootstrapvalidator
    	$('#register').bootstrapValidator({
        	message: 'Die Eingabe ist nicht gültig',
			submitHandler: function(validator, form) {
                e.preventDefault();
                $.ajax({
                    url: '',
                    type: 'POST',
                    dataType: 'html',
                    data: form.serialize(),
                    success: function(data) {
                        alert.html(data).fadeIn();
                        form.trigger('reset');
                    },
                });
            },
			live: 'submitted',
        	fields: {
            	username: {
                	validators: {
                   		notEmpty: {
                        	message: 'Bitte geben Sie einen Namen ein!'
                    	},
                    	stringLength: {
                        	min: 3,
                        	max: 30,
                        	message: 'Der Benutzername muss mindestens 3 und maximal 30 Zeichen enthalten!'
                    	},
                    	regexp: {
                        	regexp: /^[a-zA-Z0-9_\.]+$/,
                        	message: 'Der Benutzername darf nur alphabetisch, Anzahl, Punkt und Unterstrich enthalten!'
                    	},
                	}
            	},
            	email: {
                	validators: {
                   		notEmpty: {
                        	message: 'Bitte geben Sie eine E-Mail Adresse ein!'
                    	},
                    	emailAddress: {
                        	message: 'Das ist keine gültige E-Mail Adresse!'
                    	}
                	}
            	},
				password: {
                	validators: {
                    	notEmpty: {
                        	message: 'Bitte geben Sie ein Passwort ein!'
                    	},
                    	identical: {
                        	field: 'confirmPassword',
                        	message: 'Die Passwörter stimmen nicht überein!'
                    	}
                	}
            	},
            	confirmPassword: {
                	validators: {
                    	notEmpty: {
                        	message: 'Bitte geben Sie ein Passwort ein!'
                    	},
                    	identical: {
                        	field: 'password',
                        	message: 'Die Passwörter stimmen nicht überein!'
                    	}
                	}
            	},
            	captcha: {
                	validators: {
						notEmpty: {
                        	message: 'Bitte geben Sie ein Ergebnis ein!'
                    	},
                    	callback: {
                        	message: 'Bitte geben Sie das richtige Ergebnis ein!',
                        	callback: function(value) {
								$result = ( parseInt($('#num1').val()) + parseInt($('#num2').val()) == parseInt($('#captcha').val()) ) ;
								$('#spambot').fadeOut('fast');
								return $result;
                        	}
                    	}
                	}
            	}
			}
    	});
	});
	</script>
    
</body>
</html>
```


----------



## Paul_ (20. Januar 2014)

Da liegt noch einiges im Argen.
Wenn ich das richtig sehe, wird im submitHandler nicht verhindert, dass die Seite neu geladen wird.
Somit wird das Formular an die Seite geschickt und im oberen php Abschnitt wird das p-Tag ausgegeben, allerdings vor der ganzen sonstigen Seite!
Du willst nicht, dass die ganze Seite neu geladen wird, sondern dass nur ein Teil der Seite durch die Antwort auf ein Ajax request befüllt wird.

So wie dein File allerdings jetzt aufgebaut ist, kommt neben dem p-Tag auch immer die ganze Seite als Antwort auf den Ajax request zurück.

Um das Laden der ganzen Seite zu verhindern kannst du das form-Tag um folgendes Attribut erweitern: onsubmit = "return false;"

Ansonsten würde ich dir empfehlen den php Ausschnitt, der auf den Ajax request reagieren soll, in ein separates File auszulagern, dann hast du das Problem mit dem ganzen Html nicht.

Ciao,
Paul


----------



## andy_tz (20. Januar 2014)

Hallo Paul,

nochmals vielen Dank für deine Antwort. Kannst du mir ein kleines Beispiel mit ausgelagerter Datei geben? Hatte das auch schon versucht, aber auch ohne Erfolg.

LG Andreas


----------



## Paul_ (2. Februar 2014)

Hey Andreas,

also folgendes ist zu tun:

pack den ganzen Inhalt, der innerhalb der Abfrage if (isset($_POST['submit'])) steht in eine separate Datei, zum Beispiel registration.php
erweitere dein form tag um >onsubmit = "return false;"< damit nicht die ganze Seite neu geladen wird
trage die registration.php als url in deinen bootstrapValidator ein

Ciao,
Paul


----------



## andy_tz (5. Februar 2014)

Hab es versucht! Es funktioniert nicht... muss mit der submitHandler-Funktion zusammen hängen.

Lasse ich diese weg läuft die Validierung einwandfrei. Mit submitHandler zwar auch aber wenn ich den Submit-Button drücke wird die Form ausschliesslich validiert. Die Ausgabe der Daten aus der php-Datei funktioniert nicht...

Mit folgenden Code geht es...

```
$(document).ready(function(){
    $("#submit").click(function(){
        var data = $("#register").serialize();
        $.ajax({
            type	: "POST",
            url 	: "register.php",
            data 	: data,
            success : function(q) {
                $("#alert").html(q);
	    }
        });
        return false;
    });
});
```


----------



## Paul_ (6. Februar 2014)

Wenn alles läuft, kannst du den Thread als erledigt markieren.


----------



## andy_tz (6. Februar 2014)

Nein, es läuft nicht wie gewünscht. Habe doch im letzten Beitrag einen ganz anderen JavaScript-Code gepostet als dieser oben angegeben war.

Ich wollte sagen das die Ausgabe der Daten aus der PHP-Datei nur mit oben genannten Code (ohne Validierung und submitHandler) funktioniert******


----------

