javascript - 如何使用 Jquery 获取 pickadate 值?

标签 javascript php jquery mysql

我一直在尝试将以某种形式写入的数据保存到我的本地 SQL,一切都很完美,直到我注意到日期没有被传递(至少是正确的)。

我在这个项目中使用了 Materalize CSS、PHP、MYSQL 和 JQuery

这是日期选择器输入,效果很好,我可以完美地选择日期

    <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>

这是当我点击“提交”按钮时执行的 jquery 脚本。

<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);
            }
        });
}

这是我的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())

除日期外的所有内容都已保存,第一行是手动放置的 DB

最佳答案

改变这个

在你的脚本中......

<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>

在您的 PHP 代码中

    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())

你会得到你想要的。

关于javascript - 如何使用 Jquery 获取 pickadate 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945215/

相关文章:

javascript - Ajax不将数据传输到php文件

jquery - 在空 <ul> 内插入 <li> 或在底部插入 <li>(如果 jQuery 存在 <li>)

jQuery UI 嵌套 droppables - 使draggable成为droppable

javascript - 链式 promise 不会在拒绝时传递

javascript - 组合 JavaScript 生成器和类

JavaScript - 需要多维数组吗?

javascript - 使用 jQuery 从 JSON 树读取特定值

javascript - 没有输入时隐藏 div

java - Solr 返回 'oldest' 条记录而不是 'newest' ; 'Rows' 和 'Start' 参数

php - 从数据库中删除和插入