theonlyone
Goto Top

Checkbox checked mit AJAX

Hallo zusammen,

ich habe eine Registrierung Form für einen Admin Bereich einer Webseite.
Hier können bestehende Admins neue User hinzufügen.
Wenn die checkbox "Admin" aktiv ist soll im Hintergrund bei dem User das Tabellenfeld "admin" auf 1 gesetzt werden.
Das Feld "admin" ist als TINYINT angelegt.

Wenn die checkbox aktiv wird blende ich das Feld "username" und "password" ein.
Das ist per default ausgeblendet.

Ich habe es mit der change(function), probiert in tausend verschiedenen Varianten aber ich bekomme es nicht hin.
checkbox nicht aktiv: 0
checkbox aktiv: 1

Der HTML Teil:

<div class="modal fade" id="modal_kunde_hinzufuegen" tabindex="-1" role="dialog" aria-labelledby="label_kunde_hinzufuegen">  
  <div class="modal-dialog" role="document">  
    <div class="modal-content">  
      <div class="modal-header">  
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>  
        <h4 class="modal-title" id="label_kunde_hinzufuegen"><?php echo $customers['new']; ?></h4>  
      </div>
	  <div class="modal-body">  
		  <div class="form-group">  
			<label for="vorname"><?php echo $customers['firstname']; ?></label>  
			<input type="text" id="firstname_neu" class="form-control" placeholder="<?php echo $customers['firstname']; ?>">  
		  </div>
		  <div class="form-group">  
			<label for="nachname"><?php echo $customers['lastname']; ?></label>  
			<input type="text" id="lastname_neu" class="form-control" placeholder="<?php echo $customers['lastname']; ?>">  
		  </div>
		  <div class="form-group">  
			<label for="tagid1"><?php echo $customers['tagid1']; ?></label>  
			<input type="text" id="tagid1_neu" class="form-control" placeholder="<?php echo $customers['tagid1']; ?>">  
		  </div>
		  <div class="form-group">  
			<label for="tagid2"><?php echo $customers['tagid2']; ?></label>  
			<input type="text" id="tagid2_neu" class="form-control" placeholder="<?php echo $customers['tagid2']; ?>">  
		  </div>
      <div class="form-check">  
      <input class="form-check-input" type="checkbox" value="0" id="admin_check">  
      <label class="form-check-label" for="admin_check">  
       Admin Rechte
      </label>
      </div>
      <div class="form-group">  
			<label for="username" id="username" ><?php echo $customers['username']; ?></label>  
			<input type="text" id="username_neu" class="form-control" placeholder="<?php echo $customers['username']; ?>">  
		  </div>
      <div class="form-group">  
			<label for="password" id="password" ><?php echo $customers['password']; ?></label>  
			<input type="text" id="password_neu" class="form-control" placeholder="<?php echo $customers['password']; ?>">  
		  </div>
		</div>


Der PHP Teil mit AJAX

<script type="text/javascript">  
	$(document).ready(function() {
	   
     // Username und Passwort Feld ausblenden
     $("#username_neu,#username").hide();   
     $("#password,#password_neu").hide();    
     
     //Username und Passwort Feld einblenden wenn checkbox aktiv
      $('#admin_check').change(function(){  
			$("#username,#username_neu,#password,#password_neu").show();  
			$("#admin_check").prop('disabled', true);  
		});
    
    //Implementierung TableSorter für Tabelle Kunden
    $(function(){
			$("#tbl_kunden").tablesorter();  
		});	
      
   //Action bei klick auf Kunde hinzufügen
		$('#btn_kunde_hinzufuegen').click(function(){  
			var firstname = $("#firstname_neu").val();  
			var lastname = $("#lastname_neu").val();  
			var tagid1 = $("#tagid1_neu").val();  
			var tagid2 = $("#tagid2_neu").val();  
      var username = $("#username_neu").val();  
      var password = $("#password_neu").val();  
      var admin = $("#admin_check").val();  
   
      
			$.ajax({
				url: "/Login-System/pages/ajax.php",  
				type: "POST",  
				data: { ACTION : "kunde_hinzufuegen", FIRSTNAME : firstname, LASTNAME : lastname, TAGID1 : tagid1, TAGID2 : tagid2, USERNAME : username, PASSWORD : password, ADMIN : admin},  
				dataType: "text",  
				success: function(data){
					$('#modal_kunde_hinzufuegen').modal('hide');  
					//window.location = "kunden"; 
				},
				error: function(xhr, status, error){
					alert(error + " Fehler beim Einfuegen des Kunden");  
				}
			});
			
		});

In der AJAX.php Datei erfolgt der INSERT

	if($_POST['ACTION'] == "kunde_hinzufuegen")  
	{
   $firstname = $_POST['FIRSTNAME'];  
   $lastname = $_POST['LASTNAME'];  
   $tagid1 = $_POST['TAGID1'];  
   $tagid2 = $_POST['TAGID2'];  
   $username = $_POST['USERNAME'];  
   $password = $_POST['PASSWORD'];  
   $admin = $_POST['ADMIN'];  
		
		$sql = "INSERT INTO customers(firstname, lastname, tagid1, tagid2, username, password, admin) VALUES(:firstname, :lastname, :tagid1, :tagid2, :username, :password, :admin)";  
		$stmt = $dbh->prepare($sql);
		$stmt->bindParam(':firstname', $firstname);  
		$stmt->bindParam(':lastname', $lastname);  
		$stmt->bindParam(':tagid1', $tagid1);  
		$stmt->bindParam(':tagid2', $tagid2);  
    $stmt->bindParam(':username', $username);  
    $stmt->bindParam(':password', $password);  
    $stmt->bindParam(':admin', $admin);  
		$stmt->execute();
	}

Danke für euere Unterstüzung

Content-ID: 622958

Url: https://administrator.de/forum/checkbox-checked-mit-ajax-622958.html

Ausgedruckt am: 22.12.2024 um 23:12 Uhr