簡體   English   中英

發送JSON或數組以提交POST(jQuery-> PHP)

[英]send JSON or array to submit POST (jQuery -> PHP)

早上好。 我被這件事卡住了:我正在做一個表單(該表單通過“提交”按鈕將信息發送到其他頁面,發布),動態地用戶可以通過按鈕添加一些其他表單組。 好吧,那很容易。 但是用戶正在創建一個名為“ DPT”(工作資料)的東西,該東西在我的數據庫中有一個表,同時也有一個“功能”(要做的事)表。 DPT可以具有一個或多個功能。

Function              
---------
id int(4) AI
title VARCHAR(64) NOT NULL
description VARCHAR(256)
dpt int(4) --> FK
      | 1..*
      |
      V 1
DPT
-----
id
name
(...)

因此,我有一個<div> ,它會用jQuery填充以在其中創建面板和表單。 我為什么要這么做? 因為如果DPT可以具有一個或多個功能,那么我必須存儲要創建的當前功能的ID。 然后,我有一個用於添加更多功能的按鈕,但是我必須存儲該功能的ID以及其標題和說明。

因此,使用jQuery,我可以在“添加功能”按鈕之前動態添加一個新表單...我的想法是創建一個JSON並通過PHP發送它,但不知道我必須在哪里發送信息或返回到哪里。 。

我在這里將執行該操作的重要代碼告訴您:

<div id="initialFunction" class="panel panel-default panel-body">
<?php 
 $nextID = mysqli_fetch_assoc(mysqli_query($con,"SELECT MAX(id_funcion) as siguiente_id from funcion"))['siguiente_id'];
?>
 <button class="button btn-danger" type="button">
  <span class="fa fa-minus">
  </span>
 </button>
</div>

<script>

var nextId = <?php echo $nextID?> 
var arrayToPass = {}
$(function(){
    $("#initialFunction").html('<div class="form-group">'+
            '<label>Función a desarrollar <sup style="color:red">*</sup></label>'+
            '<input class="form-control" name="funcion" type="text" placeholder="Función a desarrollar" maxlength="200" required>'+
        '</div>'+
        '<div class="form-group">'+
            '<label>Tarea principal en esta función <sup style="color:red">*</sup></label>'+
            '<textarea class="form-control" name="tarea" placeholder="Enumere las funciones de su puesto de trabajo comenzando por las más representativas, así como las tareas necesarias para el cumplimiento de las mismas" rows="3" required></textarea>'+
        '</div>');
});

$("#bttn-add").click(function(){
    $("#bttn-add-function").before(
        '<div class="form-group">'+
            '<label>Función a desarrollar <sup style="color:red">*</sup></label>'+
            '<input class="form-control" name="funcion" type="text" placeholder="Función a desarrollar" maxlength="200" required>'+
        '</div>'+
        '<div class="form-group">'+
            '<label>Tarea principal en esta función <sup style="color:red">*</sup></label>'+
            '<textarea class="form-control" name="tarea" placeholder="Enumere las funciones de su puesto de trabajo comenzando por las más representativas, así como las tareas necesarias para el cumplimiento de las mismas" rows="3" required></textarea>'+
        '</div>');
        nextId++;

});

單擊提交按鈕並將其通過POST傳遞時,是否可以返回array / json? 就像是:

$("#guardar_dpt").click(function(){
    return json_object
} )

我給你看一個 照片 我在做什么。 也是整個表格: 在此處輸入圖片說明

有可能的。 很簡單。 這是示例:

HTML:

<script src="https://unpkg.com/jquery"></script>
<form id="myForm" method="post">
  <input type="text" name="first"><br>
  <input type="text" name="last"><br>
  <input type="submit" value="Send">
</form>

<p id="output"></p>

JS:

function parseAnswer (data) {
  var content

  content += 'Name: ' + data.first + '<br>'
  content += 'Surname: ' + data.last

  $('#output').text(Name)
}

$('#myForm').on( "submit", function (evt) {
  var data = $(this).serialize()

  evt.preventDefault()
  $.post('any.php', data, parseAnswer)
})

PHP:

<?php
  header("Content-type: application/json");

  $first = $_POST['first'];
  $last = $_POST['last'];

  $arr = ['first' => $first, 'last' => $last];

  echo json_encode($arr);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM