2017-10-26 1 views
1

Ich habe versucht, Daten in einem Formular in meinem lokalen SQL zu speichern, alles war perfekt, bis ich bemerkte, dass das Datum nicht (mindestens richtig) übergeben wird.Wie Pickadate Wert mit Jquery erhalten?

Ich verwende materalize CSS, PHP, MYSQL und JQuery in diesem Projekt

Dies ist der Datumsauswahl-Eingang, arbeitet ganz Großen, kann ich das Datum wählen fehlerlos

<div class="input-field col s12 flow-text"> 
     <i class="material-icons prefix">today</i> 
     <input id="FECHA_NAC_E" name="FECHA_NAC_E" value="" required type="text" class="datepicker"> 
     <label class = "flow-text" for="FECHA_NAC_E">Fecha de Nacimiento</label> 
    </div> 

Dies ist jquery Skript dass es ausgeführt wird, wenn ich auf den Submit-Button klicke.

<script type="text/javascript"> 

    function insertData() { 
    var NUM_EMP=$("#NUM_EMP").val(); 
    var NOMBRE_E=$("#NOMBRE_E").val(); 
    var APELLIDO_E=$("#APELLIDO_E").val(); 
// var FECHA_NAC_E=$("#FECHA_NAC_E").val(); Doesn't work 
// var FECHA_NAC_E=$("#FECHA_NAC_E").text(); Doesn't work 
    var FECHA_NAC_E=$("#FECHA_NAC_E").get('select', 'yyyy-mm-dd') //Doesn't work 
    var SEXOE=$("input[name=SEXOE]").val(); 
    var NACIONALIDAD=$("#NACIONALIDAD").val(); 


// AJAX code to send data to php file. 
     $.ajax({ 
      type: "POST", 
      url: "altaempleados.php", 
      data: {NUM_EMP:NUM_EMP,NOMBRE_E:NOMBRE_E,APELLIDO_E:APELLIDO_E,FECHA_NAC_E:FECHA_NAC_E,SEXOE:SEXOE,NACIONALIDAD:NACIONALIDAD}, 
      dataType: "JSON", 
      success: function(data) { 
      $("#message").html(data); 
      $("p").addClass("alert alert-success"); 
      }, 
      error: function(err) { 
      console.log(err); 
      alert(err.err); 
      } 
     }); 
} 

Und das ist mein PHP

include('db.php'); 
$NUM_EMP=$_POST['NUM_EMP']; 
$NOMBRE_E=$_POST['NOMBRE_E']; 
$APELLIDO_E=$_POST['APELLIDO_E']; 
$FECHA_NAC_E=$_POST['FECHA_NAC_E']; 
$SEXOE=$_POST['SEXOE']; 
$NACIONALIDAD=$_POST['NACIONALIDAD']; 


$stmt = $DBcon->prepare("INSERT INTO empleados(NUM_EMP,NOMBRE_E,APELLIDO_E,FECHA_NAC_E,SEXO_E,NACIONALIDAD) VALUES(:NUM_EMP,:NOMBRE_E,:APELLIDO_E,:FECHA_NAC_E,:SEXOE,:NACIONALIDAD)"); 

$stmt->bindparam(':NUM_EMP', $NUM_EMP); 
$stmt->bindparam(':NOMBRE_E', $NOMBRE_E); 
$stmt->bindparam(':APELLIDO_E', $APELLIDO_E); 
$stmt->bindparam(':FECHA_NAC_E', $FECHA_NAC_E); 
$stmt->bindparam(':SEXOE', $SEXOE); 
$stmt->bindparam(':NACIONALIDAD', $NACIONALIDAD); 
$DBcon=null; 
    // By this way you can close connection in PDO. 

if($stmt->execute()) 

Alles aber das Datum gespeichert, die erste Reihe wurde dort manuell setzen DB

+0

es in einer Eingabe, so sollten Sie '. Val()' verwenden. – guradio

+0

Ich sehe '$ ('. Datepicker') nicht. Datepicker ({dateFormat: 'mm-dd-yy', onSelect: Funktion (Datum) {/ * Ihr Datum ist hier * /}})'. – PHPglue

Antwort

2

Ändern Sie diese

In Ihrem Skript ...

<script type="text/javascript"> 
    function insertData() { 
     var NUM_EMP=$("#NUM_EMP").val(); 
     var NOMBRE_E=$("#NOMBRE_E").val(); 
     var APELLIDO_E=$("#APELLIDO_E").val(); 
     var FECHA_NAC_E=$("#FECHA_NAC_E").val(); //Keep this as it is. 
     var SEXOE=$("input[name=SEXOE]").val(); 
     var NACIONALIDAD=$("#NACIONALIDAD").val(); 
     // AJAX code to send data to php file. 
     $.ajax({ 
      type: "POST", 
      url: "altaempleados.php", 
      data: {NUM_EMP:NUM_EMP,NOMBRE_E:NOMBRE_E,APELLIDO_E:APELLIDO_E,FECHA_NAC_E:FECHA_NAC_E,SEXOE:SEXOE,NACIONALIDAD:NACIONALIDAD}, 
      dataType: "JSON", 
      success: function(data) { 
      $("#message").html(data); 
      $("p").addClass("alert alert-success"); 
      }, 
      error: function(err) { 
      console.log(err); 
      alert(err.err); 
      } 
     }); 
    } 
</script> 

In Ihrem PHP-Code

include('db.php'); 
    $NUM_EMP=$_POST['NUM_EMP']; 
    $NOMBRE_E=$_POST['NOMBRE_E']; 
    $APELLIDO_E=$_POST['APELLIDO_E']; 
    $FECHA_NAC_E=date('Y-m-d',strtotime($_POST['FECHA_NAC_E']));//Change the date format to YYYY-MM-DD 
    $SEXOE=$_POST['SEXOE']; 
    $NACIONALIDAD=$_POST['NACIONALIDAD']; 


    $stmt = $DBcon->prepare("INSERT INTO empleados(NUM_EMP,NOMBRE_E,APELLIDO_E,FECHA_NAC_E,SEXO_E,NACIONALIDAD) VALUES(:NUM_EMP,:NOMBRE_E,:APELLIDO_E,:FECHA_NAC_E,:SEXOE,:NACIONALIDAD)"); 

    $stmt->bindparam(':NUM_EMP', $NUM_EMP); 
    $stmt->bindparam(':NOMBRE_E', $NOMBRE_E); 
    $stmt->bindparam(':APELLIDO_E', $APELLIDO_E); 
    $stmt->bindparam(':FECHA_NAC_E', $FECHA_NAC_E); 
    $stmt->bindparam(':SEXOE', $SEXOE); 
    $stmt->bindparam(':NACIONALIDAD', $NACIONALIDAD); 
    $DBcon=null; 
     // By this way you can close connection in PDO. 

if($stmt->execute()) 

Sie erhalten, was Sie wollen.

+1

Danke! Jetzt funktioniert es ♥ –

+0

Ihr Willkommen ... – GYaN